Merge branch 'upstream/develop'

This commit is contained in:
aspangaro 2014-03-17 21:10:15 +01:00
commit 59128ccefb
669 changed files with 4431 additions and 2409 deletions

View File

@ -248,6 +248,12 @@ source_file = htdocs/langs/en_US/propal.lang
source_lang = en_US source_lang = en_US
type = MOZILLAPROPERTIES type = MOZILLAPROPERTIES
[dolibarr.salaries]
file_filter = htdocs/langs/<lang>/salaries.lang
source_file = htdocs/langs/en_US/salaries.lang
source_lang = en_US
type = MOZILLAPROPERTIES
[dolibarr.sendings] [dolibarr.sendings]
file_filter = htdocs/langs/<lang>/sendings.lang file_filter = htdocs/langs/<lang>/sendings.lang
source_file = htdocs/langs/en_US/sendings.lang source_file = htdocs/langs/en_US/sendings.lang

View File

@ -17,8 +17,13 @@ For users:
- New: Add option MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES and MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES - New: Add option MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES and MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES
to automatically add timestamp and user line into edition field when editing a note. to automatically add timestamp and user line into edition field when editing a note.
- New: Add button cancel into edition of notes. - New: Add button cancel into edition of notes.
- New: Improved Opensurvey module and added options to disable comments and disable - New: Improved Opensurvey module:
public votes. Added options to disable comments and disable public votes.
Limit dates use calendar popup.
Description of survey use wysiwig editor.
More information shown on result tab.
Renamed "survey" into "poll" (better translation).
- New: Add filter on text and status into survey list. Can also sort on id, text and date end.
- New: The box "balance of bank accounts" show all opened accounts. - New: The box "balance of bank accounts" show all opened accounts.
- New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE to add sale represnative into public - New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE to add sale represnative into public
note of generated documents. note of generated documents.
@ -26,7 +31,6 @@ For users:
- New: Increase length of url into bookmark module. - New: Increase length of url into bookmark module.
- New: Automatic events sending mails add info about linked objects into email content. - New: Automatic events sending mails add info about linked objects into email content.
- New: Price management enhancement (multiprice level, price by customer, if MAIN_FEATURES_LEVEL=2 Price by qty). - New: Price management enhancement (multiprice level, price by customer, if MAIN_FEATURES_LEVEL=2 Price by qty).
- New: Add filter on text and status into survey list. Can also sort on id, text and date end.
- New: Add option MAIN_FAVICON_URL. - New: Add option MAIN_FAVICON_URL.
- New: Created {line_price_ht_locale}, {line_price_vat_locale} and {line_price_ttc_locale} ODT tags. - New: Created {line_price_ht_locale}, {line_price_vat_locale} and {line_price_ttc_locale} ODT tags.
- New: Add filter on project status into task list. By default, only "opened" project are visible. - New: Add filter on project status into task list. By default, only "opened" project are visible.
@ -36,6 +40,7 @@ For users:
- New: Add field url as product properties. - New: Add field url as product properties.
- New: More options to create a credit note (can be filled autatically according to remain to pay). - New: More options to create a credit note (can be filled autatically according to remain to pay).
- Fix: Project Task numbering customs rule works. - Fix: Project Task numbering customs rule works.
- Fix: Add actions events not implemented
TODO TODO
- New: Predefined product and free product use same form. - New: Predefined product and free product use same form.

View File

@ -29,7 +29,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/categories.lib.php';
if (!$user->admin) if (!$user->admin)
accessforbidden(); accessforbidden();
$langs->load("cateogries"); $langs->load("categories");
$action=GETPOST("action"); $action=GETPOST("action");
@ -95,7 +95,7 @@ $form = new Form($db);
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'>'; print '<tr '.$bc[$var].'>';
print '<td>'.$langs->trans("CategorieRecursiv").'</td>'; print '<td>'.$langs->trans("CategorieRecursiv").'</td>';
print '<td align="center" width="20">&nbsp;</td>'; print '<td align="center" width="20">'. $form->textwithpicto('',$langs->trans("CategorieRecursivHelp"),1,'help').'</td>';
print '<td align="center" width="100">'; print '<td align="center" width="100">';
if ($conf->use_javascript_ajax) if ($conf->use_javascript_ajax)

View File

@ -0,0 +1,151 @@
<?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* 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/categories/admin/categorie_extrafields.php
* \ingroup societe
* \brief Page to setup extra fields of category
*/
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/categories.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
$langs->load("categories");
$langs->load("admin");
$extrafields = new ExtraFields($db);
$form = new Form($db);
// List of supported format
$tmptype2label=getStaticMember(get_class($extrafields),'type2label');
$type2label=array('');
foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val);
$action=GETPOST('action', 'alpha');
$attrname=GETPOST('attrname', 'alpha');
$elementtype='categories'; //Must be the $element of the class that manage extrafield
if (!$user->admin) accessforbidden();
/*
* Actions
*/
require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php';
/*
* View
*/
$textobject=$langs->transnoentitiesnoconv("Categories");
$help_url='EN:Module Third Parties setup|FR:Paramétrage_du_module_Tiers';
llxHeader('',$langs->trans("CompanySetup"),$help_url);
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'setup');
$head = categoriesadmin_prepare_head(null);
dol_fiche_head($head, 'attributes_categories', $langs->trans("Categories"), 0, 'categoriesadmin');
print $langs->trans("DefineHereComplementaryAttributes",$textobject).'<br>'."\n";
print '<br>';
// Load attribute_label
$extrafields->fetch_name_optionals_label($elementtype);
print "<table summary=\"listofattributes\" class=\"noborder\" width=\"100%\">";
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Label").'</td>';
print '<td>'.$langs->trans("AttributeCode").'</td>';
print '<td>'.$langs->trans("Type").'</td>';
print '<td align="right">'.$langs->trans("Size").'</td>';
print '<td align="center">'.$langs->trans("Unique").'</td>';
print '<td align="center">'.$langs->trans("Required").'</td>';
print '<td width="80">&nbsp;</td>';
print "</tr>\n";
$var=True;
foreach($extrafields->attribute_type as $key => $value)
{
$var=!$var;
print "<tr ".$bc[$var].">";
print "<td>".$extrafields->attribute_label[$key]."</td>\n";
print "<td>".$key."</td>\n";
print "<td>".$type2label[$extrafields->attribute_type[$key]]."</td>\n";
print '<td align="right">'.$extrafields->attribute_size[$key]."</td>\n";
print '<td align="center">'.yn($extrafields->attribute_unique[$key])."</td>\n";
print '<td align="center">'.yn($extrafields->attribute_required[$key])."</td>\n";
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=edit&attrname='.$key.'">'.img_edit().'</a>';
print "&nbsp; <a href=\"".$_SERVER["PHP_SELF"]."?action=delete&attrname=$key\">".img_delete()."</a></td>\n";
print "</tr>";
// $i++;
}
print "</table>";
dol_fiche_end();
// Buttons
if ($action != 'create' && $action != 'edit')
{
print '<div class="tabsAction">';
print "<a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?action=create\">".$langs->trans("NewAttribute")."</a>";
print "</div>";
}
/* ************************************************************************** */
/* */
/* Creation d'un champ optionnel
/* */
/* ************************************************************************** */
if ($action == 'create')
{
print "<br>";
print_titre($langs->trans('NewAttribute'));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php';
}
/* ************************************************************************** */
/* */
/* Edition d'un champ optionnel */
/* */
/* ************************************************************************** */
if ($action == 'edit' && ! empty($attrname))
{
print "<br>";
print_titre($langs->trans("FieldEdition", $attrname));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php';
}
llxFooter();
$db->close();
?>

View File

@ -28,6 +28,7 @@
* \brief File of class to manage categories * \brief File of class to manage categories
*/ */
require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php';
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
@ -36,10 +37,10 @@ require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
/** /**
* Class to manage categories * Class to manage categories
*/ */
class Categorie class Categorie extends CommonObject
{ {
public $element='category'; public $element='category';
public $table_element='category'; public $table_element='categories';
var $id; var $id;
var $fk_parent; var $fk_parent;
@ -103,6 +104,8 @@ class Categorie
$this->type = $res['type']; $this->type = $res['type'];
$this->entity = $res['entity']; $this->entity = $res['entity'];
$this->fetch_optionals($this->id,$extralabels);
$this->db->free($resql); $this->db->free($resql);
return 1; return 1;
@ -130,7 +133,7 @@ class Categorie
*/ */
function create($user='') function create($user='')
{ {
global $conf,$langs; global $conf,$langs,$hookmanager;
$langs->load('categories'); $langs->load('categories');
$error=0; $error=0;
@ -189,6 +192,24 @@ class Categorie
{ {
$this->id = $id; $this->id = $id;
// Actions on extra fields (by external module or standard code)
// FIXME le hook fait double emploi avec le trigger !!
$hookmanager->initHooks(array('HookModuleNamedao'));
$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++;
// Appel des triggers // Appel des triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
@ -224,7 +245,7 @@ class Categorie
*/ */
function update($user='') function update($user='')
{ {
global $conf, $langs; global $conf, $langs,$hookmanager;
$error=0; $error=0;
@ -257,8 +278,28 @@ class Categorie
dol_syslog(get_class($this)."::update sql=".$sql); dol_syslog(get_class($this)."::update sql=".$sql);
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
// Actions on extra fields (by external module or standard code)
// FIXME le hook fait double emploi avec le trigger !!
$hookmanager->initHooks(array('HookCategorydao'));
$parameters=array();
$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++;
$this->db->commit(); $this->db->commit();
// Appel des triggers // Appel des triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
@ -361,6 +402,19 @@ class Categorie
} }
else else
{ {
// Removed extrafields
if (! $error)
{
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
{
$result=$this->deleteExtraFields();
if ($result < 0)
{
$error++;
dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR);
}
}
}
// Appel des triggers // Appel des triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);

View File

@ -26,6 +26,7 @@
require '../main.inc.php'; require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
$langs->load("categories"); $langs->load("categories");
@ -50,7 +51,10 @@ if ($id == "")
// Security check // Security check
$result = restrictedArea($user, 'categorie', $id, '&category'); $result = restrictedArea($user, 'categorie', $id, '&category');
$object = new Categorie($db);
$extrafields = new ExtraFields($db);
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
/* /*
* Actions * Actions
@ -85,6 +89,8 @@ if ($action == 'update' && $user->rights->categorie->creer)
} }
if (empty($categorie->error)) if (empty($categorie->error))
{ {
$ret = $extrafields->setOptionalsFromPost($extralabels,$categorie);
if ($categorie->update($user) > 0) if ($categorie->update($user) > 0)
{ {
header('Location: '.DOL_URL_ROOT.'/categories/viewcat.php?id='.$categorie->id.'&type='.$type); header('Location: '.DOL_URL_ROOT.'/categories/viewcat.php?id='.$categorie->id.'&type='.$type);
@ -115,7 +121,6 @@ print_fiche_titre($langs->trans("ModifCat"));
dol_htmloutput_errors($mesg); dol_htmloutput_errors($mesg);
$object = new Categorie($db);
$object->fetch($id); $object->fetch($id);
$form = new Form($db); $form = new Form($db);
@ -153,6 +158,12 @@ print '<tr><td>'.$langs->trans("In").'</td><td>';
print $form->select_all_categories($type,$object->fk_parent,'parent',64,$object->id); print $form->select_all_categories($type,$object->fk_parent,'parent',64,$object->id);
print '</td></tr>'; print '</td></tr>';
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
if (empty($reshook) && ! empty($extrafields->attribute_label))
{
print $object->showOptionals($extrafields,'edit');
}
print '</table>'; print '</table>';
print '<br>'; print '<br>';

View File

@ -27,9 +27,12 @@
require '../main.inc.php'; require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
$langs->load("categories"); $langs->load("categories");
$extrafields = new ExtraFields($db);
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
// Security check // Security check
$socid=GETPOST('socid','int'); $socid=GETPOST('socid','int');
@ -59,6 +62,7 @@ if ($origin)
if ($catorigin && $type == 0) $idCatOrigin = $catorigin; if ($catorigin && $type == 0) $idCatOrigin = $catorigin;
$object = new Categorie($db);
/* /*
* Actions * Actions
@ -112,7 +116,7 @@ if ($action == 'add' && $user->rights->categorie->creer)
} }
} }
$object = new Categorie($db);
$object->label = $label; $object->label = $label;
$object->description = dol_htmlcleanlastbr($description); $object->description = dol_htmlcleanlastbr($description);
@ -122,6 +126,8 @@ if ($action == 'add' && $user->rights->categorie->creer)
if ($parent != "-1") $object->fk_parent = $parent; if ($parent != "-1") $object->fk_parent = $parent;
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
if (! $object->label) if (! $object->label)
{ {
$error++; $error++;
@ -239,6 +245,12 @@ if ($user->rights->categorie->creer)
print $form->select_all_categories($type, $catorigin); print $form->select_all_categories($type, $catorigin);
print '</td></tr>'; print '</td></tr>';
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
if (empty($reshook))
{
print $object->showOptionals($extrafields,'edit');
}
print '</table>'; print '</table>';
print '<center><br>'; print '<center><br>';

View File

@ -27,6 +27,8 @@
require '../main.inc.php'; require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/categories.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/categories.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
$langs->load("categories"); $langs->load("categories");
@ -49,6 +51,7 @@ $result = restrictedArea($user, 'categorie', $id, '&category');
$object = new Categorie($db); $object = new Categorie($db);
$result=$object->fetch($id); $result=$object->fetch($id);
$object->fetch_optionals($id,$extralabels);
if ($result <= 0) if ($result <= 0)
{ {
dol_print_error($db,$object->error); dol_print_error($db,$object->error);
@ -57,6 +60,8 @@ if ($result <= 0)
$type=$object->type; $type=$object->type;
$extrafields = new ExtraFields($db);
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
/* /*
* Actions * Actions
@ -166,6 +171,12 @@ print $langs->trans("Description").'</td><td>';
print nl2br($object->description); print nl2br($object->description);
print '</td></tr>'; print '</td></tr>';
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
if (empty($reshook) && ! empty($extrafields->attribute_label))
{
print $object->showOptionals($extrafields);
}
print '</table>'; print '</table>';
print '</div>'; print '</div>';

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com> * Copyright (C) 2011-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
* *
@ -21,7 +21,7 @@
/** /**
* \file htdocs/compta/charges/index.php * \file htdocs/compta/charges/index.php
* \ingroup compta * \ingroup compta
* \brief Page to list payments of social contributions, vat and salaries * \brief Page to list payments of special expenses
*/ */
require '../../main.inc.php'; require '../../main.inc.php';
@ -63,9 +63,9 @@ $socialcontrib=new ChargeSociales($db);
$payment_sc_static=new PaymentSocialContribution($db); $payment_sc_static=new PaymentSocialContribution($db);
$sal_static = new PaymentSalary($db); $sal_static = new PaymentSalary($db);
llxHeader('',$langs->trans("TaxAndDividendsArea")); llxHeader('',$langs->trans("SpecialExpensesArea"));
$title=$langs->trans("TaxAndDividendsArea"); $title=$langs->trans("SpecialExpensesArea");
if ($_GET["mode"] == 'sconly') $title=$langs->trans("SocialContributionsPayments"); if ($_GET["mode"] == 'sconly') $title=$langs->trans("SocialContributionsPayments");
$param=''; $param='';
@ -84,6 +84,8 @@ if (GETPOST("mode") != 'sconly')
} }
// Payment Salary // Payment Salary
if ($conf->salaries->enabled)
{
if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly') if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly')
{ {
$sal = new PaymentSalary($db); $sal = new PaymentSalary($db);
@ -159,7 +161,11 @@ if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly')
dol_print_error($db); dol_print_error($db);
} }
} }
}
if ($conf->tax->enabled)
{
// Social contributions only // Social contributions only
if (GETPOST("mode") != 'sconly') if (GETPOST("mode") != 'sconly')
{ {
@ -255,10 +261,11 @@ else
dol_print_error($db); dol_print_error($db);
} }
print '</table>'; print '</table>';
}
// VAT // VAT
if ($conf->tax->enabled)
{
if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly') if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly')
{ {
print "<br>"; print "<br>";
@ -334,9 +341,10 @@ if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly')
dol_print_error($db); dol_print_error($db);
} }
} }
}
$db->close();
llxFooter(); llxFooter();
$db->close();
?> ?>

View File

@ -78,36 +78,6 @@ if ($action == 'validate' && $user->rights->deplacement->creer)
} }
} }
/*
else if ($action == 'unblock' && $user->rights->deplacement->unvalidate)
{
$object->fetch($id);
if ($object->fk_statut == '1') // Not blocked...
{
$mesg='<div class="error">'.$langs->trans("Error").'</div>';
$action='';
$error++;
}
else
{
$result = $object->fetch($id);
$object->fk_statut = '1';
$result = $object->update($user);
if ($result > 0)
{
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
exit;
}
else
{
$mesg=$object->error;
}
}
}*/
else if ($action == 'confirm_delete' && $confirm == "yes" && $user->rights->deplacement->supprimer) else if ($action == 'confirm_delete' && $confirm == "yes" && $user->rights->deplacement->supprimer)
{ {
$result=$object->delete($id); $result=$object->delete($id);
@ -295,7 +265,7 @@ if ($action == 'create')
print '<td class="border" valign="top">'.$langs->trans('NotePublic').'</td>'; print '<td class="border" valign="top">'.$langs->trans('NotePublic').'</td>';
print '<td valign="top" colspan="2">'; print '<td valign="top" colspan="2">';
$doleditor = new DolEditor('note_public', GETPOST('note_public', 'alpha'), 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100); $doleditor = new DolEditor('note_public', GETPOST('note_public', 'alpha'), '', 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100);
print $doleditor->Create(1); print $doleditor->Create(1);
print '</td></tr>'; print '</td></tr>';
@ -307,7 +277,7 @@ if ($action == 'create')
print '<td class="border" valign="top">'.$langs->trans('NotePrivate').'</td>'; print '<td class="border" valign="top">'.$langs->trans('NotePrivate').'</td>';
print '<td valign="top" colspan="2">'; print '<td valign="top" colspan="2">';
$doleditor = new DolEditor('note_private', GETPOST('note_private', 'alpha'), 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100); $doleditor = new DolEditor('note_private', GETPOST('note_private', 'alpha'), '', 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100);
print $doleditor->Create(1); print $doleditor->Create(1);
print '</td></tr>'; print '</td></tr>';
@ -391,7 +361,7 @@ else if ($id)
print '<tr><td valign="top">'.$langs->trans("NotePublic").'</td>'; print '<tr><td valign="top">'.$langs->trans("NotePublic").'</td>';
print '<td valign="top" colspan="3">'; print '<td valign="top" colspan="3">';
$doleditor = new DolEditor('note_public', $object->note_public, 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, '100'); $doleditor = new DolEditor('note_public', $object->note_public, '', 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, '100');
print $doleditor->Create(1); print $doleditor->Create(1);
print "</td></tr>"; print "</td></tr>";
@ -402,7 +372,7 @@ else if ($id)
print '<tr><td valign="top">'.$langs->trans("NotePrivate").'</td>'; print '<tr><td valign="top">'.$langs->trans("NotePrivate").'</td>';
print '<td valign="top" colspan="3">'; print '<td valign="top" colspan="3">';
$doleditor = new DolEditor('note_private', $object->note_private, 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, '100'); $doleditor = new DolEditor('note_private', $object->note_private, '', 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, '100');
print $doleditor->Create(1); print $doleditor->Create(1);
print "</td></tr>"; print "</td></tr>";

View File

@ -121,6 +121,7 @@ print '</tr>';
print '</table>'; print '</table>';
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">'; print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';

181
htdocs/compta/hrm.php Normal file
View File

@ -0,0 +1,181 @@
<?php
/* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com>
* Copyright (C) 2013-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* 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/hrm.php
* \ingroup hrm
* \brief Home page for HRM area.
*/
require('../main.inc.php');
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php';
require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php';
require_once DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php';
$langs->load('users');
$langs->load('holidays');
$langs->load('tripss');
// Protection if external user
if ($user->societe_id > 0) accessforbidden();
/*
* Actions
*/
// None
/*
* View
*/
$holiday = new Holiday($db);
$holidaystatic=new Holiday($db);
llxHeader(array(),$langs->trans('HRMArea'));
print '<div class="fichecenter"><div class="fichethirdleft">';
if (! empty($conf->holiday->enabled))
{
$user_id = $user->id;
$nbaquis=$holiday->getCPforUser($user_id);
$nbdeduced=$holiday->getConfCP('nbHolidayDeducted');
$nb_holiday = $nbaquis / $nbdeduced;
print '<table class="noborder nohover" width="100%">';
print '<tr class="liste_titre"><td colspan="3">'.$langs->trans("Holidays").'</td></tr>';
print "<tr ".$bc[0].">";
print '<td colspan="3">';
print $langs->trans('SoldeCPUser',round($nb_holiday,2)).($nbdeduced != 1 ? ' ('.$nbaquis.' / '.$nbdeduced.')' : '');
print '</td>';
print '</tr>';
print '</table><br>';
}
/*
* Search expenses
*/
if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire)
{
$langs->load("trips");
print '<form method="post" action="'.DOL_URL_ROOT.'/compta/deplacement/list.php">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<table class="noborder nohover" width="100%">';
print '<tr class="liste_titre"><td colspan="3">'.$langs->trans("SearchATripAndExpense").'</td></tr>';
print "<tr ".$bc[0].">";
print "<td>".$langs->trans("Ref").':</td><td><input type="text" name="search_ref" class="flat" size="18"></td>';
print '<td><input type="submit" value="'.$langs->trans("Search").'" class="button"></td>';
//print "<tr ".$bc[0]."><td>".$langs->trans("Other").':</td><td><input type="text" name="sall" class="flat" size="18"></td>';
print '</tr>';
print "</table></form><br>";
}
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
$max=10;
$langs->load("boxes");
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.dated as date, d.tms as dm, d.km, d.fk_statut";
$sql.= " FROM ".MAIN_DB_PREFIX."deplacement as d, ".MAIN_DB_PREFIX."user as u";
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= " WHERE u.rowid = d.fk_user";
$sql.= " AND d.entity = ".$conf->entity;
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND d.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if ($socid) $sql.= " AND d.fk_soc = ".$socid;
$sql.= $db->order("d.tms","DESC");
$sql.= $db->plimit($max, 0);
$result = $db->query($sql);
if ($result)
{
$var=false;
$num = $db->num_rows($result);
$i = 0;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).'</td>';
print '<td align="right">'.$langs->trans("FeesKilometersOrAmout").'</td>';
print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
print '<td width="16">&nbsp;</td>';
print '</tr>';
if ($num)
{
$total_ttc = $totalam = $total = 0;
$deplacementstatic=new Deplacement($db);
$userstatic=new User($db);
while ($i < $num && $i < $max)
{
$obj = $db->fetch_object($result);
$deplacementstatic->ref=$obj->rowid;
$deplacementstatic->id=$obj->rowid;
$userstatic->id=$obj->uid;
$userstatic->lastname=$obj->lastname;
$userstatic->firstname=$obj->firstname;
print '<tr '.$bc[$var].'>';
print '<td>'.$deplacementstatic->getNomUrl(1).'</td>';
print '<td>'.$userstatic->getNomUrl(1).'</td>';
print '<td align="right">'.$obj->km.'</td>';
print '<td align="right">'.dol_print_date($db->jdate($obj->dm),'day').'</td>';
print '<td>'.$deplacementstatic->LibStatut($obj->fk_statut,3).'</td>';
print '</tr>';
$var=!$var;
$i++;
}
}
else
{
print '<tr '.$bc[$var].'><td colspan="2">'.$langs->trans("None").'</td></tr>';
}
print '</table><br>';
}
else dol_print_error($db);
print '</div></div></div>';
llxFooter();
$db->close();
?>

View File

@ -139,24 +139,6 @@ if (! empty($conf->don->enabled) && $user->rights->don->lire)
print "</table></form><br>"; print "</table></form><br>";
} }
/*
* Search expenses
*/
if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire)
{
$langs->load("trips");
print '<form method="post" action="'.DOL_URL_ROOT.'/compta/deplacement/list.php">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<table class="noborder nohover" width="100%">';
print '<tr class="liste_titre"><td colspan="3">'.$langs->trans("SearchATripAndExpense").'</td></tr>';
print "<tr ".$bc[0].">";
print "<td>".$langs->trans("Ref").':</td><td><input type="text" name="search_ref" class="flat" size="18"></td>';
print '<td><input type="submit" value="'.$langs->trans("Search").'" class="button"></td>';
//print "<tr ".$bc[0]."><td>".$langs->trans("Other").':</td><td><input type="text" name="sall" class="flat" size="18"></td>';
print '</tr>';
print "</table></form><br>";
}
/** /**
* Draft customers invoices * Draft customers invoices
*/ */

View File

@ -84,66 +84,12 @@ print $bprev->NbFactureAPrelever();
print '</a>'; print '</a>';
print '</td></tr>'; print '</td></tr>';
$var=!$var; $var=!$var;
print '<tr class="liste_total"><td>'.$langs->trans("AmountToWithdraw").'</td>'; print '<tr '.$bc[$var].'><td>'.$langs->trans("AmountToWithdraw").'</td>';
print '<td align="right">'; print '<td align="right">';
print price($bprev->SommeAPrelever()); print price($bprev->SommeAPrelever(),'','',1,-1,-1,'auto');
print '</td></tr></table><br>'; print '</td></tr></table><br>';
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
/*
* Withdraw receipts
*/
$limit=5;
$sql = "SELECT p.rowid, p.ref, p.amount, p.datec, p.statut";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " ORDER BY datec DESC";
$sql.= $db->plimit($limit);
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
$i = 0;
$var=True;
print"\n<!-- debut table -->\n";
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("LastWithdrawalReceipt",$limit).'</td>';
print '<td>'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Amount").'</td>';
print '<td align="right">'.$langs->trans("Status").'</td>';
print '</tr>';
while ($i < min($num,$limit))
{
$obj = $db->fetch_object($result);
$var=!$var;
print "<tr ".$bc[$var].">";
print "<td>";
$bprev->id=$obj->rowid;
$bprev->ref=$obj->ref;
$bprev->statut=$obj->statut;
print $bprev->getNomUrl(1);
print "</td>\n";
print '<td>'.dol_print_date($db->jdate($obj->datec),"dayhour")."</td>\n";
print '<td align="right">'.price($obj->amount)."</td>\n";
print '<td align="right">'.$bprev->getLibStatut(3)."</td>\n";
print "</tr>\n";
$i++;
}
print "</table><br>";
$db->free($result);
}
else
{
dol_print_error($db);
}
/* /*
* Invoices waiting for withdraw * Invoices waiting for withdraw
@ -222,6 +168,62 @@ else
} }
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
/*
* Withdraw receipts
*/
$limit=5;
$sql = "SELECT p.rowid, p.ref, p.amount, p.datec, p.statut";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " ORDER BY datec DESC";
$sql.= $db->plimit($limit);
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
$i = 0;
$var=True;
print"\n<!-- debut table -->\n";
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("LastWithdrawalReceipt",$limit).'</td>';
print '<td>'.$langs->trans("Date").'</td>';
print '<td align="right">'.$langs->trans("Amount").'</td>';
print '<td align="right">'.$langs->trans("Status").'</td>';
print '</tr>';
while ($i < min($num,$limit))
{
$obj = $db->fetch_object($result);
$var=!$var;
print "<tr ".$bc[$var].">";
print "<td>";
$bprev->id=$obj->rowid;
$bprev->ref=$obj->ref;
$bprev->statut=$obj->statut;
print $bprev->getNomUrl(1);
print "</td>\n";
print '<td>'.dol_print_date($db->jdate($obj->datec),"dayhour")."</td>\n";
print '<td align="right">'.price($obj->amount)."</td>\n";
print '<td align="right">'.$bprev->getLibStatut(3)."</td>\n";
print "</tr>\n";
$i++;
}
print "</table><br>";
$db->free($result);
}
else
{
dol_print_error($db);
}
print '</div></div></div>'; print '</div></div></div>';
llxFooter(); llxFooter();

View File

@ -17,8 +17,8 @@
/** /**
* \file htdocs/compta/salaries/class/paymentsalary.class.php * \file htdocs/compta/salaries/class/paymentsalary.class.php
* \ingroup tax * \ingroup salaries
* \brief Class for tax module salary payment * \brief Class for salaries module payment
*/ */
// Put here all includes required by your class file // Put here all includes required by your class file
@ -369,7 +369,7 @@ class PaymentSalary extends CommonObject
} }
if ($this->fk_user < 0 || $this->fk_user == '') if ($this->fk_user < 0 || $this->fk_user == '')
{ {
$this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Person")); $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Employee"));
return -4; return -4;
} }
if ($this->amount < 0 || $this->amount == '') if ($this->amount < 0 || $this->amount == '')

View File

@ -29,6 +29,8 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
$langs->load("compta"); $langs->load("compta");
$langs->load("banks"); $langs->load("banks");
$langs->load("bills"); $langs->load("bills");
$langs->load("users");
$langs->load("salaries");
$id=GETPOST("id",'int'); $id=GETPOST("id",'int');
$action=GETPOST('action'); $action=GETPOST('action');
@ -190,8 +192,9 @@ if ($action == 'create')
print $form->select_date($datev,"datev",'','','','add'); print $form->select_date($datev,"datev",'','','','add');
print '</td></tr>'; print '</td></tr>';
// Employee
print "<tr>"; print "<tr>";
print '<td class="fieldrequired">'.$langs->trans("Person").'</td><td>'; print '<td class="fieldrequired">'.$langs->trans("Employee").'</td><td>';
print $form->select_dolusers(GETPOST('fk_user','int'),'fk_user',1); print $form->select_dolusers(GETPOST('fk_user','int'),'fk_user',1);
print '</td></tr>'; print '</td></tr>';

View File

@ -25,6 +25,7 @@ require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php';
$langs->load("compta"); $langs->load("compta");
$langs->load("salaries");
// Security check // Security check
$socid = isset($_GET["socid"])?$_GET["socid"]:''; $socid = isset($_GET["socid"])?$_GET["socid"]:'';

View File

@ -547,7 +547,6 @@ class Menubase
$tmpcond=$menu['enabled']; $tmpcond=$menu['enabled'];
if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z_]+/','1==1',$tmpcond); // Force part of condition to true if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z_]+/','1==1',$tmpcond); // Force part of condition to true
$enabled = verifCond($tmpcond); $enabled = verifCond($tmpcond);
//if ($conf->use_javascript_ajax && ! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && empty($conf->dol_use_jmobile) && preg_match('/^\$leftmenu/',$menu['enabled'])) $enabled=1;
} }
// Define $title // Define $title

View File

@ -0,0 +1,34 @@
// Copyright (C) 2014 Cedric GROSS <c.gross@kreiz-it.fr>
//
// 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/>.
// or see http://www.gnu.org/
//
// \file htdocs/core/js/lib_batch.js
// \brief File that include javascript functions used when dispatching batch-enabled product
//
function AddLineBatch(index) {
var nme = 'dluo_0_'+index;
$row=$("tr[name='"+nme+"']").clone(true);
$row.find("input[name^='qty']").val('');
var trs = $("tr[name^='dluo_'][name$='_"+index+"']");
var newrow=$row.html().replace(/_0_/g,"_"+(trs.length)+"_");
$row.html(newrow);
//clear value
$row.find("input[name^='qty']").val('');
//change name of row
$row.attr('name','dluo_'+trs.length+'_'+index);
$("tr[name^='dluo_'][name$='_"+index+"']:last").after($row);
}

View File

@ -79,6 +79,11 @@ function categoriesadmin_prepare_head()
$head[$h][2] = 'setup'; $head[$h][2] = 'setup';
$h++; $h++;
$head[$h][0] = DOL_URL_ROOT.'/categories/admin/categorie_extrafields.php';
$head[$h][1] = $langs->trans("ExtraFieldsCategories");
$head[$h][2] = 'attributes_categories';
$h++;
// Show more tabs from modules // Show more tabs from modules
// Entries must be declared in modules descriptor with line // Entries must be declared in modules descriptor with line
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab

View File

@ -2689,7 +2689,7 @@ function vatrate($rate,$addpercent=false,$info_bits=0,$usestarfornpr=0)
* @param int $trunc 1=Truncate if there is too much decimals (default), 0=Does not truncate * @param int $trunc 1=Truncate if there is too much decimals (default), 0=Does not truncate
* @param int $rounding Minimum number of decimal to show. If 0, no change, if -1, we use min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOTAL) * @param int $rounding Minimum number of decimal to show. If 0, no change, if -1, we use min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOTAL)
* @param int $forcerounding Force the number of decimal to forcerounding decimal (-1=do not force) * @param int $forcerounding Force the number of decimal to forcerounding decimal (-1=do not force)
* @param string $currency_code To add currency symbol (''=add nothing, 'XXX'=add currency symbols for XXX currency) * @param string $currency_code To add currency symbol (''=add nothing, 'auto'=Use default currency, 'XXX'=add currency symbols for XXX currency)
* @return string Chaine avec montant formate * @return string Chaine avec montant formate
* *
* @see price2num Revert function of price * @see price2num Revert function of price
@ -2751,6 +2751,8 @@ function price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerou
$cursymbolbefore=$cursymbolafter=''; $cursymbolbefore=$cursymbolafter='';
if ($currency_code) if ($currency_code)
{ {
if ($currency_code == 'auto') $currency_code=$conf->currency;
$listofcurrenciesbefore=array('USD'); $listofcurrenciesbefore=array('USD');
if (in_array($currency_code,$listofcurrenciesbefore)) $cursymbolbefore.=$outlangs->getCurrencySymbol($currency_code); if (in_array($currency_code,$listofcurrenciesbefore)) $cursymbolbefore.=$outlangs->getCurrencySymbol($currency_code);
else $cursymbolafter.=$outlangs->getCurrencySymbol($currency_code); else $cursymbolafter.=$outlangs->getCurrencySymbol($currency_code);

View File

@ -222,8 +222,14 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
$numlines=count($lines); $numlines=count($lines);
$total=0; // We declare counter as global because we want to edit them into recursive call
$total_planned=0; global $total_projectlinesa_spent,$total_projectlinesa_planned,$total_projectlinesa_spent_if_planned;
if ($level == 0)
{
$total_projectlinesa_spent=0;
$total_projectlinesa_planned=0;
$total_projectlinesa_spent_if_planned=0;
}
for ($i = 0 ; $i < $numlines ; $i++) for ($i = 0 ; $i < $numlines ; $i++)
{ {
@ -391,9 +397,9 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
$level++; $level++;
if ($lines[$i]->id) projectLinesa($inc, $lines[$i]->id, $lines, $level, $var, $showproject, $taskrole, $projectsListId, $addordertick); if ($lines[$i]->id) projectLinesa($inc, $lines[$i]->id, $lines, $level, $var, $showproject, $taskrole, $projectsListId, $addordertick);
$level--; $level--;
$total += $lines[$i]->duration; $total_projectlinesa_spent += $lines[$i]->duration;
$total_planned += $lines[$i]->planned_workload; $total_projectlinesa_planned += $lines[$i]->planned_workload;
// TODO fix totals in recursive calls if ($lines[$i]->planned_workload) $total_projectlinesa_spent_if_planned += $lines[$i]->duration;
} }
} }
else else
@ -402,7 +408,7 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
} }
} }
if ($total>0 && $level==0) if (($total_projectlinesa_planned > 0 || $total_projectlinesa_spent > 0) && $level==0)
{ {
print '<tr class="liste_total">'; print '<tr class="liste_total">';
print '<td class="liste_total">'.$langs->trans("Total").'</td>'; print '<td class="liste_total">'.$langs->trans("Total").'</td>';
@ -410,11 +416,15 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
print '<td></td>'; print '<td></td>';
print '<td></td>'; print '<td></td>';
print '<td></td>'; print '<td></td>';
print '<td align="center" class="nowrap liste_total">'.convertSecondToTime($total_planned, 'allhourmin').'</td>'; print '<td align="center" class="nowrap liste_total">';
print convertSecondToTime($total_projectlinesa_planned, 'allhourmin');
print '</td>';
print '<td></td>'; print '<td></td>';
print '<td align="right" class="nowrap liste_total">'.convertSecondToTime($total, 'allhourmin').'</td>';
print '<td align="right" class="nowrap liste_total">'; print '<td align="right" class="nowrap liste_total">';
if($total_planned) print round(100 * $total / $total_planned,2).' %'; print convertSecondToTime($total_projectlinesa_spent, 'allhourmin');
print '</td>';
print '<td align="right" class="nowrap liste_total">';
if ($total_projectlinesa_planned) print round(100 * $total_projectlinesa_spent_if_planned / $total_projectlinesa_planned,2).' %';
print '</td>'; print '</td>';
if ($addordertick) print '<td class="hideonsmartphone"></td>'; if ($addordertick) print '<td class="hideonsmartphone"></td>';
print '</tr>'; print '</tr>';

View File

@ -18,7 +18,7 @@ insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, left
insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('mailing|export|import', '$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&amp;leftmenu=', 'Tools', -1, 'other', '$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run', '', 2, 90, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('mailing|export|import', '$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&amp;leftmenu=', 'Tools', -1, 'other', '$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run', '', 2, 90, __ENTITY__);
insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('boutique', '! empty($conf->boutique->enabled)', 11__+MAX_llx_menu__, __HANDLER__, 'top', 'shop', '', 0, '/boutique/index.php?mainmenu=shop&amp;leftmenu=', 'OSCommerce', -1, 'shop', '', '', 0, 100, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('boutique', '! empty($conf->boutique->enabled)', 11__+MAX_llx_menu__, __HANDLER__, 'top', 'shop', '', 0, '/boutique/index.php?mainmenu=shop&amp;leftmenu=', 'OSCommerce', -1, 'shop', '', '', 0, 100, __ENTITY__);
insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('adherent', '$conf->adherent->enabled', 13__+MAX_llx_menu__, __HANDLER__, 'top', 'members', '', 0, '/adherents/index.php?mainmenu=members&amp;leftmenu=', 'Members', -1, 'members', '$user->rights->adherent->lire', '', 2, 110, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('adherent', '$conf->adherent->enabled', 13__+MAX_llx_menu__, __HANDLER__, 'top', 'members', '', 0, '/adherents/index.php?mainmenu=members&amp;leftmenu=', 'Members', -1, 'members', '$user->rights->adherent->lire', '', 2, 110, __ENTITY__);
insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('holiday', '$conf->holiday->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/holiday/index.php?mainmenu=holiday&amp;leftmenu=', 'HRM', -1, 'holiday', '$user->rights->holiday->write', '', 0, 80, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('hrm', '$conf->holiday->enabled || $conf->deplacement->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/compta/hrm.php?mainmenu=hrm&amp;leftmenu=', 'HRM', -1, 'holiday', '$user->rights->holiday->write || $user->rights->deplacement->lire', '', 0, 80, __ENTITY__);
-- Home - Setup -- Home - Setup
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$user->admin', __HANDLER__, 'left', 100__+MAX_llx_menu__, 'home', 'setup', 1__+MAX_llx_menu__, '/admin/index.php?leftmenu=setup', 'Setup', 0, 'admin', '', '', 2, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$user->admin', __HANDLER__, 'left', 100__+MAX_llx_menu__, 'home', 'setup', 1__+MAX_llx_menu__, '/admin/index.php?leftmenu=setup', 'Setup', 0, 'admin', '', '', 2, 0, __ENTITY__);
@ -174,13 +174,9 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2001__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/fiche.php?leftmenu=donations&amp;mainmenu=accountancy&amp;action=create', 'NewDonation', 1, 'donations', '$user->rights->don->creer', '', 2, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2001__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/fiche.php?leftmenu=donations&amp;mainmenu=accountancy&amp;action=create', 'NewDonation', 1, 'donations', '$user->rights->don->creer', '', 2, 0, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2002__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/liste.php?leftmenu=donations&amp;mainmenu=accountancy', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2002__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/liste.php?leftmenu=donations&amp;mainmenu=accountancy', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__);
--insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/stats.php?leftmenu=donations&amp;mainmenu=accountancy', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__); --insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/stats.php?leftmenu=donations&amp;mainmenu=accountancy', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__);
-- Trips and expenses -- Special expenses
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2100__+MAX_llx_menu__, 'accountancy', 'tripsandexpenses', 6__+MAX_llx_menu__, '/compta/deplacement/index.php?leftmenu=tripsandexpenses', 'TripsAndExpenses', 0, 'trips', '$user->rights->deplacement->lire', '', 0, 5, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled || $conf->salaries->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'accountancy', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax&amp;mainmenu=accountancy', 'MenuSpecialExpenses', 0, 'compta', '1', '', 0, 6, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2101__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/fiche.php?action=create&amp;leftmenu=tripsandexpenses', 'New', 1, 'trips', '$user->rights->deplacement->creer', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2201__+MAX_llx_menu__, 'accountancy', 'tax_sal', 2200__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary&amp;mainmenu=accountancy', 'Salaries', 1, 'salaries', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2102__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/list.php?leftmenu=tripsandexpenses', 'List', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2103__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses', 'Statistics', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'accountancy', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax&amp;mainmenu=accountancy', 'MenuTaxAndDividends', 0, 'compta', '$user->rights->tax->charges->lire', '', 0, 6, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2201__+MAX_llx_menu__, 'accountancy', 'tax_sal', 2200__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary&amp;mainmenu=accountancy', 'Salaries', 1, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2202__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/fiche.php?leftmenu=tax_salary&amp;action=create', 'NewPayment', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2202__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/fiche.php?leftmenu=tax_salary&amp;action=create', 'NewPayment', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2203__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary', 'Payments', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2203__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary', 'Payments', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2250__+MAX_llx_menu__, 'accountancy', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2250__+MAX_llx_menu__, 'accountancy', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
@ -280,10 +276,15 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
-- Members - Category member -- Members - Category member
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->adherent->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 5200__+MAX_llx_menu__, 'members', 'cat', 13__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&amp;type=3', 'MembersCategoriesShort', 0, 'categories', '$user->rights->categorie->lire', '', 2, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->adherent->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 5200__+MAX_llx_menu__, 'members', 'cat', 13__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&amp;type=3', 'MembersCategoriesShort', 0, 'categories', '$user->rights->categorie->lire', '', 2, 3, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->adherent->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 5201__+MAX_llx_menu__, 'members', '', 5200__+MAX_llx_menu__, '/categories/fiche.php?action=create&amp;type=3', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->adherent->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 5201__+MAX_llx_menu__, 'members', '', 5200__+MAX_llx_menu__, '/categories/fiche.php?action=create&amp;type=3', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__);
-- HRM -- HRM - Holiday
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5000__+MAX_llx_menu__, 'hrm', 'hrm', 15__+MAX_llx_menu__, '/holiday/index.php?&leftmenu=hrm', 'CPTitreMenu', 0, 'holiday', '$user->rights->holiday->write', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5000__+MAX_llx_menu__, 'hrm', 'hrm', 15__+MAX_llx_menu__, '/holiday/index.php?&leftmenu=hrm', 'CPTitreMenu', 0, 'holiday', '$user->rights->holiday->write', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5001__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/fiche.php?&action=request', 'MenuAddCP', 1, 'holiday', '$user->rights->holiday->write', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5001__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/fiche.php?&action=request', 'MenuAddCP', 1, 'holiday', '$user->rights->holiday->write', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5002__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/define_holiday.php?&action=request', 'MenuConfCP', 1, 'holiday', '$user->rights->holiday->define_holiday', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5002__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/define_holiday.php?&action=request', 'MenuConfCP', 1, 'holiday', '$user->rights->holiday->define_holiday', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5003__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/view_log.php?&action=request', 'MenuLogCP', 1, 'holiday', '$user->rights->holiday->view_log', '', 0, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5003__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/view_log.php?&action=request', 'MenuLogCP', 1, 'holiday', '$user->rights->holiday->view_log', '', 0, 3, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5004__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/month_report.php?&action=request', 'MenuReportMonth', 1, 'holiday', '$user->rights->holiday->month_report', '', 0, 4, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5004__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/month_report.php?&action=request', 'MenuReportMonth', 1, 'holiday', '$user->rights->holiday->month_report', '', 0, 4, __ENTITY__);
-- HRM - Trips and expenses
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2100__+MAX_llx_menu__, 'accountancy', 'tripsandexpenses', 15__+MAX_llx_menu__, '/compta/deplacement/index.php?leftmenu=tripsandexpenses', 'TripsAndExpenses', 0, 'trips', '$user->rights->deplacement->lire', '', 0, 5, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2101__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/fiche.php?action=create&amp;leftmenu=tripsandexpenses', 'New', 1, 'trips', '$user->rights->deplacement->creer', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2102__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/list.php?leftmenu=tripsandexpenses', 'List', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2103__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses', 'Statistics', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__);

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2010-2013 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2010-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2010 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2010 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012-2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr> * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
@ -134,9 +134,9 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0)
} }
// Financial // Financial
$tmpentry=array('enabled'=>(! empty($conf->comptabilite->enabled) || ! empty($conf->accounting->enabled) || ! empty($conf->facture->enabled) || ! empty($conf->deplacement->enabled) || ! empty($conf->don->enabled) || ! empty($conf->tax->enabled)), $tmpentry=array('enabled'=>(! empty($conf->comptabilite->enabled) || ! empty($conf->accounting->enabled) || ! empty($conf->facture->enabled) || ! empty($conf->don->enabled) || ! empty($conf->tax->enabled)),
'perms'=>(! empty($user->rights->compta->resultat->lire) || ! empty($user->rights->accounting->plancompte->lire) || ! empty($user->rights->facture->lire) || ! empty($user->rights->deplacement->lire) || ! empty($user->rights->don->lire) || ! empty($user->rights->tax->charges->lire)), 'perms'=>(! empty($user->rights->compta->resultat->lire) || ! empty($user->rights->accounting->plancompte->lire) || ! empty($user->rights->facture->lire) || ! empty($user->rights->don->lire) || ! empty($user->rights->tax->charges->lire)),
'module'=>'comptabilite|accounting|facture|deplacement|don|tax'); 'module'=>'comptabilite|accounting|facture|don|tax');
$showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal); $showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal);
if ($showmode) if ($showmode)
{ {
@ -195,9 +195,9 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0)
} }
// HRM // HRM
$tmpentry=array('enabled'=>(! empty($conf->holiday->enabled)), $tmpentry=array('enabled'=>(! empty($conf->holiday->enabled) || ! empty($conf->deplacement->enabled)),
'perms'=>(! empty($user->rights->holiday->write)), 'perms'=>(! empty($user->rights->holiday->write) || ! empty($user->rights->deplacement->lire)),
'module'=>'holiday'); 'module'=>'holiday|deplacement');
$showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal); $showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal);
if ($showmode) if ($showmode)
{ {
@ -209,9 +209,9 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0)
$idsel='hrm'; $idsel='hrm';
if (empty($noout)) print_start_menu_entry($idsel,$classname,$showmode); if (empty($noout)) print_start_menu_entry($idsel,$classname,$showmode);
if (empty($noout)) print_text_menu_entry($langs->trans("HRM"), $showmode, DOL_URL_ROOT.'/holiday/index.php?mainmenu=hrm&amp;leftmenu=', $id, $idsel, $classname, $atarget); if (empty($noout)) print_text_menu_entry($langs->trans("HRM"), $showmode, DOL_URL_ROOT.'/compta/hrm.php?mainmenu=hrm&amp;leftmenu=', $id, $idsel, $classname, $atarget);
if (empty($noout)) print_end_menu_entry($showmode); if (empty($noout)) print_end_menu_entry($showmode);
$menu->add('/holiday/index.php?mainmenu=holiday&amp;leftmenu=', $langs->trans("HRM"), 0, $showmode, $atarget, "hrm", ''); $menu->add('/compta/hrm.php?mainmenu=hrm&amp;leftmenu=', $langs->trans("HRM"), 0, $showmode, $atarget, "hrm", '');
} }
@ -790,25 +790,21 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
//if ($leftmenu=="donations") $newmenu->add("/compta/dons/stats.php",$langs->trans("Statistics"), 1, $user->rights->don->lire); //if ($leftmenu=="donations") $newmenu->add("/compta/dons/stats.php",$langs->trans("Statistics"), 1, $user->rights->don->lire);
} }
// Trips and expenses
if (! empty($conf->deplacement->enabled))
{
$langs->load("trips");
$newmenu->add("/compta/deplacement/index.php?leftmenu=tripsandexpenses&amp;mainmenu=accountancy", $langs->trans("TripsAndExpenses"), 0, $user->rights->deplacement->lire, '', $mainmenu, 'tripsandexpenses');
if (empty($leftmenu) || $leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/fiche.php?action=create&amp;leftmenu=tripsandexpenses&amp;mainmenu=accountancy", $langs->trans("New"), 1, $user->rights->deplacement->creer);
if (empty($leftmenu) || $leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/list.php?leftmenu=tripsandexpenses&amp;mainmenu=accountancy", $langs->trans("List"), 1, $user->rights->deplacement->lire);
if (empty($leftmenu) || $leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses&amp;mainmenu=accountancy", $langs->trans("Statistics"), 1, $user->rights->deplacement->lire);
}
// Taxes and social contributions // Taxes and social contributions
if (! empty($conf->tax->enabled)) if (! empty($conf->tax->enabled) || ! empty($conf->salaries->enabled))
{ {
$newmenu->add("/compta/charges/index.php?leftmenu=tax&amp;mainmenu=accountancy",$langs->trans("MenuTaxAndDividends"), 0, $user->rights->tax->charges->lire, '', $mainmenu, 'tax');
// Salaries
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary&amp;mainmenu=accountancy",$langs->trans("Salaries"),1,$user->rights->tax->charges->lire, '', $mainmenu, 'tax_salary');
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/fiche.php?leftmenu=tax_salary&action=create",$langs->trans("NewPayment"),2,$user->rights->tax->charges->creer);
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary",$langs->trans("Payments"),2,$user->rights->tax->charges->lire);
global $mysoc; global $mysoc;
$newmenu->add("/compta/charges/index.php?leftmenu=tax&amp;mainmenu=accountancy",$langs->trans("MenuSpecialExpenses"), 0, $user->rights->tax->charges->lire, '', $mainmenu, 'tax');
// Salaries
if (! empty($conf->salaries->enabled))
{
$langs->load("salaries");
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary&amp;mainmenu=accountancy",$langs->trans("Salaries"),1,$user->rights->salaries->read, '', $mainmenu, 'tax_salary');
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/fiche.php?leftmenu=tax_salary&action=create",$langs->trans("NewPayment"),2,$user->rights->salaries->create);
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary",$langs->trans("Payments"),2,$user->rights->salaries->read);
}
// Social contributions // Social contributions
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/index.php?leftmenu=tax_social",$langs->trans("MenuSocialContributions"),1,$user->rights->tax->charges->lire); if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/index.php?leftmenu=tax_social",$langs->trans("MenuSocialContributions"),1,$user->rights->tax->charges->lire);
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/charges.php?leftmenu=tax_social&action=create",$langs->trans("MenuNewSocialContribution"), 2, $user->rights->tax->charges->creer); if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/charges.php?leftmenu=tax_social&action=create",$langs->trans("MenuNewSocialContribution"), 2, $user->rights->tax->charges->creer);
@ -1089,17 +1085,26 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
*/ */
if ($mainmenu == 'hrm') if ($mainmenu == 'hrm')
{ {
// Holiday module
if (! empty($conf->holiday->enabled)) if (! empty($conf->holiday->enabled))
{ {
$langs->load("holiday"); $langs->load("holiday");
// HRM: Holiday module
$newmenu->add("/holiday/index.php?&leftmenu=hrm", $langs->trans("CPTitreMenu"), 0, $user->rights->holiday->write, '', $mainmenu, 'hrm'); $newmenu->add("/holiday/index.php?&leftmenu=hrm", $langs->trans("CPTitreMenu"), 0, $user->rights->holiday->write, '', $mainmenu, 'hrm');
$newmenu->add("/holiday/fiche.php?&action=request", $langs->trans("MenuAddCP"), 1,$user->rights->holiday->write); $newmenu->add("/holiday/fiche.php?&action=request", $langs->trans("MenuAddCP"), 1,$user->rights->holiday->write);
$newmenu->add("/holiday/define_holiday.php?&action=request", $langs->trans("MenuConfCP"), 1, $user->rights->holiday->define_holiday); $newmenu->add("/holiday/define_holiday.php?&action=request", $langs->trans("MenuConfCP"), 1, $user->rights->holiday->define_holiday);
$newmenu->add("/holiday/view_log.php?&action=request", $langs->trans("MenuLogCP"), 1, $user->rights->holiday->view_log); $newmenu->add("/holiday/view_log.php?&action=request", $langs->trans("MenuLogCP"), 1, $user->rights->holiday->view_log);
$newmenu->add("/holiday/month_report.php?&action=request", $langs->trans("MenuReportMonth"), 1, $user->rights->holiday->month_report); $newmenu->add("/holiday/month_report.php?&action=request", $langs->trans("MenuReportMonth"), 1, $user->rights->holiday->month_report);
}
// Trips and expenses
if (! empty($conf->deplacement->enabled))
{
$langs->load("trips");
$newmenu->add("/compta/deplacement/index.php?leftmenu=tripsandexpenses&amp;mainmenu=accountancy", $langs->trans("TripsAndExpenses"), 0, $user->rights->deplacement->lire, '', $mainmenu, 'tripsandexpenses');
$newmenu->add("/compta/deplacement/fiche.php?action=create&amp;leftmenu=tripsandexpenses&amp;mainmenu=accountancy", $langs->trans("New"), 1, $user->rights->deplacement->creer);
$newmenu->add("/compta/deplacement/list.php?leftmenu=tripsandexpenses&amp;mainmenu=accountancy", $langs->trans("List"), 1, $user->rights->deplacement->lire);
$newmenu->add("/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses&amp;mainmenu=accountancy", $langs->trans("Statistics"), 1, $user->rights->deplacement->lire);
} }
} }

View File

@ -63,7 +63,7 @@ class modCategorie extends DolibarrModules
$this->depends = array(); $this->depends = array();
// Config pages // Config pages
$this->config_page_url = array(); $this->config_page_url = array('categorie_extrafields.php@categories');
$this->langfiles = array("products","companies","categories"); $this->langfiles = array("products","companies","categories");
// Constantes // Constantes

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2005-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.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
@ -94,19 +94,7 @@ class modDeplacement extends DolibarrModules
$this->rights[3][2] = 'd'; $this->rights[3][2] = 'd';
$this->rights[3][3] = 0; $this->rights[3][3] = 0;
$this->rights[3][4] = 'supprimer'; $this->rights[3][4] = 'supprimer';
/*
$this->rights[4][0] = 174;
$this->rights[4][1] = 'Bloquer les deplacements';
$this->rights[4][2] = 'a';
$this->rights[4][3] = 0;
$this->rights[4][4] = 'valider';
$this->rights[5][0] = 175;
$this->rights[5][1] = 'Debloquer les deplacements';
$this->rights[5][2] = 'a';
$this->rights[5][3] = 0;
$this->rights[5][4] = 'unvalidate';
*/
$this->rights[6][0] = 178; $this->rights[6][0] = 178;
$this->rights[6][1] = 'Exporter les deplacements'; $this->rights[6][1] = 'Exporter les deplacements';
$this->rights[6][2] = 'd'; $this->rights[6][2] = 'd';

View File

@ -0,0 +1,177 @@
<?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* 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/>.
* or see http://www.gnu.org/
*/
/**
* \defgroup tax Module salaries
* \brief Module to include salaries management
* \file htdocs/core/modules/modSalaries.class.php
* \ingroup salaries
* \brief File to activate module salaries
*/
include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php';
/**
* Class to manage salaries module
*/
class modSalaries extends DolibarrModules
{
/**
* Constructor. Define names, constants, directories, boxes, permissions
*
* @param DoliDB $db Database handler
*/
function __construct($db)
{
global $conf;
$this->db = $db;
$this->numero = 510;
$this->family = "hr";
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = preg_replace('/^mod/i','',get_class($this));
// Module description used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
$this->description = "Employees salaries management";
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this->version = 'dolibarr';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='bill';
// Data directories to create when module is enabled
$this->dirs = array("/salaries/temp");
// Config pages
$this->config_page_url = array();
// Dependances
$this->depends = array();
$this->requiredby = array();
$this->conflictwith = array();
$this->langfiles = array("salaries");
// Constantes
$this->const = array();
// Boites
$this->boxes = array();
// Permissions
$this->rights = array();
$this->rights_class = 'salaries';
$r=0;
$r++;
$this->rights[$r][0] = 510;
$this->rights[$r][1] = 'Read salaries';
$this->rights[$r][2] = 'r';
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'read';
$this->rights[$r][5] = '';
$r++;
$this->rights[$r][0] = 511;
$this->rights[$r][1] = 'Create/modify salaries';
$this->rights[$r][2] = 'w';
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'create';
$this->rights[$r][5] = '';
$r++;
$this->rights[$r][0] = 512;
$this->rights[$r][1] = 'Delete salaries';
$this->rights[$r][2] = 'd';
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'delete';
$this->rights[$r][5] = '';
$r++;
$this->rights[$r][0] = 515;
$this->rights[$r][1] = 'Export salaries';
$this->rights[$r][2] = 'r';
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'export';
$this->rights[$r][5] = '';
// Exports
//--------
$r=0;
/*
$r++;
$this->export_code[$r]=$this->rights_class.'_'.$r;
$this->export_label[$r]='Payment of salaries';
$this->export_permission[$r]=array(array("tax","charges","export"));
$this->export_fields_array[$r]=array('cc.libelle'=>"Type",'c.rowid'=>"IdSocialContribution",'c.libelle'=>"Label",'c.date_ech'=>'DateDue','c.periode'=>'Period','c.amount'=>"AmountExpected","c.paye"=>"Status",'p.rowid'=>'PaymentId','p.datep'=>'DatePayment','p.amount'=>'AmountPayment','p.num_paiement'=>'Numero');
$this->export_TypeFields_array[$r]=array('cc.libelle'=>"List:c_chargesociales:libelle:id",'c.libelle'=>"Text",'c.date_ech'=>'Date','c.periode'=>'Period','c.amount'=>"Number","c.paye"=>"Boolean",'p.datep'=>'Date','p.amount'=>'Number','p.num_paiement'=>'Number');
$this->export_entities_array[$r]=array('cc.libelle'=>"tax_type",'c.rowid'=>"tax",'c.libelle'=>'tax','c.date_ech'=>'tax','c.periode'=>'tax','c.amount'=>"tax","c.paye"=>"tax",'p.rowid'=>'payment','p.datep'=>'payment','p.amount'=>'payment','p.num_paiement'=>'payment');
$this->export_sql_start[$r]='SELECT DISTINCT ';
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'c_chargesociales as cc, '.MAIN_DB_PREFIX.'chargesociales as c';
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'paiementcharge as p ON p.fk_charge = c.rowid';
$this->export_sql_end[$r] .=' WHERE c.fk_type = cc.id';
$this->export_sql_end[$r] .=' AND c.entity = '.$conf->entity;
*/
}
/**
* Function called when module is enabled.
* The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database.
* It also creates data directories
*
* @param string $options Options when enabling module ('', 'noboxes')
* @return int 1 if OK, 0 if KO
*/
function init($options='')
{
global $conf;
// Nettoyage avant activation
$this->remove($options);
$sql = array();
return $this->_init($sql,$options);
}
/**
* Function called when module is disabled.
* Remove from database constants, boxes and permissions from Dolibarr database.
* Data directories are not deleted
*
* @param string $options Options when enabling module ('', 'noboxes')
* @return int 1 if OK, 0 if KO
*/
function remove($options='')
{
$sql = array();
return $this->_remove($sql,$options);
}
}
?>

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2009-2011 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2009-2011 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011-2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2011-2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Cedric GROSS <c.gross@kreiz-it.fr> * Copyright (C) 2013 Cedric GROSS <c.gross@kreiz-it.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
@ -423,6 +423,34 @@ class InterfaceActionsAuto
$object->actionmsg=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref);
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
$object->sendtoid=0;
$ok=1;
}
elseif ($action == 'ORDER_SUPPLIER_APPROVE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
$langs->load("orders");
$langs->load("agenda");
$object->actiontypecode='AC_OTH_AUTO';
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("OrderApprovedInDolibarr",$object->ref);
$object->actionmsg=$langs->transnoentities("OrderApprovedInDolibarr",$object->ref);
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
$object->sendtoid=0;
$ok=1;
}
elseif ($action == 'ORDER_SUPPLIER_REFUSE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
$langs->load("orders");
$langs->load("agenda");
$object->actiontypecode='AC_OTH_AUTO';
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("OrderRefusedInDolibarr",$object->ref);
$object->actionmsg=$langs->transnoentities("OrderRefusedInDolibarr",$object->ref);
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
$object->sendtoid=0; $object->sendtoid=0;
$ok=1; $ok=1;
} }

View File

@ -31,6 +31,7 @@
include_once DOL_DOCUMENT_ROOT.'/core/class/commonorder.class.php'; include_once DOL_DOCUMENT_ROOT.'/core/class/commonorder.class.php';
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
if (! empty($conf->productbatch->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/class/productbatch.class.php';
/** /**
@ -1234,9 +1235,12 @@ class CommandeFournisseur extends CommonOrder
* @param int $entrepot Id of warehouse to add product * @param int $entrepot Id of warehouse to add product
* @param double $price Unit Price for PMP value calculation (Unit price without Tax and taking into account discount) * @param double $price Unit Price for PMP value calculation (Unit price without Tax and taking into account discount)
* @param string $comment Comment for stock movement * @param string $comment Comment for stock movement
* @param date $eatby eat-by date
* @param date $sellby sell-by date
* @param string $batch Lot number
* @return int <0 if KO, >0 if OK * @return int <0 if KO, >0 if OK
*/ */
function DispatchProduct($user, $product, $qty, $entrepot, $price=0, $comment='') function DispatchProduct($user, $product, $qty, $entrepot, $price=0, $comment='', $eatby='', $sellby='', $batch='')
{ {
global $conf; global $conf;
$error = 0; $error = 0;
@ -1290,7 +1294,7 @@ class CommandeFournisseur extends CommonOrder
{ {
// $price should take into account discount (except if option STOCK_EXCLUDE_DISCOUNT_FOR_PMP is on) // $price should take into account discount (except if option STOCK_EXCLUDE_DISCOUNT_FOR_PMP is on)
$mouv->origin = &$this; $mouv->origin = &$this;
$result=$mouv->reception($user, $product, $entrepot, $qty, $price, $comment); $result=$mouv->reception($user, $product, $entrepot, $qty, $price, $comment, $eatby, $sellby, $batch);
if ($result < 0) if ($result < 0)
{ {
$this->error=$mouv->error; $this->error=$mouv->error;

View File

@ -4,6 +4,7 @@
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2014 C<EFBFBD>dric Gross <c.gross@kreiz-it.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
@ -40,6 +41,7 @@ $langs->load('bills');
$langs->load('deliveries'); $langs->load('deliveries');
$langs->load('products'); $langs->load('products');
$langs->load('stocks'); $langs->load('stocks');
if (! empty($conf->productbatch->enabled)) $langs->load('productbatch');
// Security check // Security check
$id = GETPOST("id",'int'); $id = GETPOST("id",'int');
@ -53,7 +55,7 @@ if (empty($conf->stock->enabled))
// Recuperation de l'id de projet // Recuperation de l'id de projet
$projectid = 0; $projectid = 0;
if ($_GET["projectid"]) $projectid = $_GET["projectid"]; if ($_GET["projectid"]) $projectid = GETPOST("projectid",'int');
$mesg=''; $mesg='';
@ -76,9 +78,9 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
$qty = "qty_".$reg[1]; $qty = "qty_".$reg[1];
$ent = "entrepot_".$reg[1]; $ent = "entrepot_".$reg[1];
$pu = "pu_".$reg[1]; // This is unit price including discount $pu = "pu_".$reg[1]; // This is unit price including discount
if ($_POST[$ent] > 0) if (GETPOST($ent,'int') > 0)
{ {
$result = $commande->DispatchProduct($user, $_POST[$prod], $_POST[$qty], $_POST[$ent], $_POST[$pu], $_POST["comment"]); $result = $commande->DispatchProduct($user, GETPOST($prod,'int'),GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment"));
} }
else else
{ {
@ -86,7 +88,33 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
$text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1); $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1);
setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors');
} }
} else if (preg_match('/^product_([0-9]+)_([0-9]+)$/i', $key, $reg)) {
//eat-by date dispatch
$prod = "product_".$reg[1]."_".$reg[2];
$qty = "qty_".$reg[1]."_".$reg[2];
$ent = "entrepot_".$reg[1]."_".$reg[2];
$pu = "pu_".$reg[1]."_".$reg[2];
$lot = "lot_number_".$reg[1]."_".$reg[2];
$dDLUO = dol_mktime(12, 0, 0, $_POST['dluo_'.$reg[1]."_".$reg[2].'month'], $_POST['dluo_'.$reg[1]."_".$reg[2].'day'], $_POST['dluo_'.$reg[1]."_".$reg[2].'year']);
$dDLC = dol_mktime(12, 0, 0, $_POST['dlc_'.$reg[1]."_".$reg[2].'month'], $_POST['dlc_'.$reg[1]."_".$reg[2].'day'], $_POST['dlc_'.$reg[1]."_".$reg[2].'year']);
if (! (GETPOST($ent,'int') > 0))
{
dol_syslog('No dispatch for line '.$key.' as no warehouse choosed');
$text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1);
setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors');
} }
if (!((GETPOST($qty) > 0 ) && ( $_POST[$lot] or $dDLUO or $dDLC) ))
{
dol_syslog('No dispatch for line '.$key.' as qty is not set or eat-by date are not set');
$text = $langs->transnoentities('atleast1batchfield').', '.$langs->transnoentities('Line').'' .($reg[1]-1);
setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors');
} else {
$result = $commande->DispatchProduct($user, GETPOST($prod,'int'),GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment"), $dDLC, $dDLUO, GETPOST($lot));
}
}
} }
if (! $notrigger) if (! $notrigger)
@ -104,7 +132,7 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
{ {
$db->commit(); $db->commit();
header("Location: dispatch.php?id=".$_GET["id"]); header("Location: dispatch.php?id=".$id);
exit; exit;
} }
else else
@ -120,22 +148,27 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
* View * View
*/ */
if (!empty($conf->productbatch->enabled)) {
llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur",'',0,0,array('/core/js/lib_batch.js'));
} else {
llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur"); llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur");
}
$form = new Form($db); $form = new Form($db);
$warehouse_static = new Entrepot($db); $warehouse_static = new Entrepot($db);
$now=dol_now(); $now=dol_now();
$id = $_GET['id']; $id = GETPOST('id','int');
$ref= $_GET['ref']; $ref= GETPOST('ref');
if ($id > 0 || ! empty($ref)) if ($id > 0 || ! empty($ref))
{ {
//if ($mesg) print $mesg.'<br>'; //if ($mesg) print $mesg.'<br>';
$commande = new CommandeFournisseur($db); $commande = new CommandeFournisseur($db);
$result=$commande->fetch($_GET['id'],$_GET['ref']); $result=$commande->fetch($id,$ref);
if ($result >= 0) if ($result >= 0)
{ {
$soc = new Societe($db); $soc = new Societe($db);
@ -237,11 +270,11 @@ if ($id > 0 || ! empty($ref))
} }
$sql = "SELECT l.fk_product, l.subprice, l.remise_percent, SUM(l.qty) as qty,"; $sql = "SELECT l.fk_product, l.subprice, l.remise_percent, SUM(l.qty) as qty,";
$sql.= " p.ref, p.label"; $sql.= " p.ref, p.label, p.tobatch";
$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product=p.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product=p.rowid";
$sql.= " WHERE l.fk_commande = ".$commande->id; $sql.= " WHERE l.fk_commande = ".$commande->id;
$sql.= " GROUP BY p.ref, p.label, l.fk_product, l.subprice, l.remise_percent"; // Calculation of amount dispatched is done per fk_product so we must group by fk_product $sql.= " GROUP BY p.ref, p.label, p.tobatch, l.fk_product, l.subprice, l.remise_percent"; // Calculation of amount dispatched is done per fk_product so we must group by fk_product
$sql.= " ORDER BY p.ref, p.label"; $sql.= " ORDER BY p.ref, p.label";
$resql = $db->query($sql); $resql = $db->query($sql);
@ -253,13 +286,23 @@ if ($id > 0 || ! empty($ref))
if ($num) if ($num)
{ {
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Description").'</td>'; print '<td colspan="4" width="40%">'.$langs->trans("Description").'</td>';
print '<td align="right">'.$langs->trans("QtyOrdered").'</td>'; print '<td align="right">'.$langs->trans("QtyOrdered").'</td>';
print '<td align="right">'.$langs->trans("QtyDispatched").'</td>'; print '<td align="right">'.$langs->trans("QtyDispatched").'</td>';
print '<td align="right">'.$langs->trans("QtyDelivered").'</td>'; print '<td align="right">'.$langs->trans("QtyDelivered").'</td>';
print '<td align="right">'.$langs->trans("Warehouse").'</td>'; print '<td align="right">'.$langs->trans("Warehouse").'</td>';
print "</tr>\n"; print "</tr>\n";
if (!empty($conf->productbatch->enabled)) {
print '<tr class="liste_titre">';
print '<td width="5%">&nbsp;</td>';
print '<td>'.$langs->trans("l_eatby").'</td>';
print '<td>'.$langs->trans("l_sellby").'</td>';
print '<td>'.$langs->trans("batch_number").'</td>';
print '<td colspan="4" width="50%">&nbsp;</td>';
print "</tr>\n";
}
} }
$nbfreeproduct=0; $nbfreeproduct=0;
@ -285,35 +328,57 @@ if ($id > 0 || ! empty($ref))
$var=!$var; $var=!$var;
print "<tr ".$bc[$var].">"; print "<tr ".$bc[$var].">";
print '<td>'; print '<td colspan="4">';
print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>'; print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>';
print ' - '.$objp->label."\n"; print ' - '.$objp->label."\n";
// To show detail cref and description value, we must make calculation by cref // To show detail cref and description value, we must make calculation by cref
//print ($objp->cref?' ('.$objp->cref.')':''); //print ($objp->cref?' ('.$objp->cref.')':'');
//if ($objp->description) print '<br>'.nl2br($objp->description); //if ($objp->description) print '<br>'.nl2br($objp->description);
print '<input name="product_'.$i.'" type="hidden" value="'.$objp->fk_product.'">'."\n"; if ((empty($conf->productbatch->enabled)) || $objp->tobatch==0) {
$suffix='_'.$i;
} else {
$suffix='_0_'.$i;
}
$up_ht_disc=$objp->subprice; $up_ht_disc=$objp->subprice;
if (! empty($objp->remise_percent) && empty($conf->global->STOCK_EXCLUDE_DISCOUNT_FOR_PMP)) $up_ht_disc=price2num($up_ht_disc * (100 - $objp->remise_percent) / 100, 'MU'); if (! empty($objp->remise_percent) && empty($conf->global->STOCK_EXCLUDE_DISCOUNT_FOR_PMP)) $up_ht_disc=price2num($up_ht_disc * (100 - $objp->remise_percent) / 100, 'MU');
print '<input name="pu_'.$i.'" type="hidden" value="'.$up_ht_disc.'">'."<!-- This is a up including discount -->\n";
print "</td>\n"; print "</td>\n";
print '<td align="right">'.$objp->qty.'</td>'; print '<td align="right">'.$objp->qty.'</td>';
print '<td align="right">'.$products_dispatched[$objp->fk_product].'</td>'; print '<td align="right">'.$products_dispatched[$objp->fk_product].'</td>';
if ( !(empty($conf->productbatch->enabled)) && $objp->tobatch==1) {
print '<td colspan="2" align="center">'.img_picto_common($langs->trans('AddDispatchBatchLine'),'treemenu/plustop2.gif','onClick="AddLineBatch('.$i.')"').'</td>';
print '</tr>';
print '<tr '.$bc[$var].' name="dluo'.$suffix.'"><td width="5%">';
print '<input name="product'.$suffix.'" type="hidden" value="'.$objp->fk_product.'">';
print '<input name="pu'.$suffix.'" type="hidden" value="'.$up_ht_disc.'"><!-- This is a up including discount -->';
print '</td><td>';
$form->select_date('','dlc'.$suffix,'','',1,"");
print '</td><td>';
$form->select_date('','dluo'.$suffix,'','',1,"");
print '</td><td>';
print '<input type="text" name="lot_number'.$suffix.'" size="40" value="">';
print '</td>';
print '<td colspan="2">&nbsp</td>';
} else {
print '<input name="product'.$suffix.'" type="hidden" value="'.$objp->fk_product.'">';
print '<input name="pu'.$suffix.'" type="hidden" value="'.$up_ht_disc.'"><!-- This is a up including discount -->';
}
// Dispatch // Dispatch
print '<td align="right"><input name="qty_'.$i.'" type="text" size="8" value="'.($remaintodispatch).'"></td>'; print '<td align="right"><input name="qty'.$suffix.'" type="text" size="8" value="'.($remaintodispatch).'"></td>';
// Warehouse // Warehouse
print '<td align="right">'; print '<td align="right">';
if (count($listwarehouses)>1) if (count($listwarehouses)>1)
{ {
print $form->selectarray("entrepot_".$i, $listwarehouses, '', 1, 0, 0, '', 0, 0, $disabled); print $form->selectarray("entrepot".$suffix, $listwarehouses, '', 1, 0, 0, '', 0, 0, $disabled);
} }
elseif (count($listwarehouses)==1) elseif (count($listwarehouses)==1)
{ {
print $form->selectarray("entrepot_".$i, $listwarehouses, '', 0, 0, 0, '', 0, 0, $disabled); print $form->selectarray("entrepot".$suffix, $listwarehouses, '', 0, 0, 0, '', 0, 0, $disabled);
} }
else else
{ {
@ -339,7 +404,7 @@ if ($id > 0 || ! empty($ref))
{ {
print $langs->trans("Comment").' : '; print $langs->trans("Comment").' : ';
print '<input type="text" size="60" maxlength="128" name="comment" value="'; print '<input type="text" size="60" maxlength="128" name="comment" value="';
print $_POST["comment"]?$_POST["comment"]:$langs->trans("DispatchSupplierOrder",$commande->ref); print $_POST["comment"]?GETPOST("comment"):$langs->trans("DispatchSupplierOrder",$commande->ref);
// print ' / '.$commande->ref_supplier; // Not yet available // print ' / '.$commande->ref_supplier; // Not yet available
print '" class="flat"><br><br>'; print '" class="flat"><br><br>';

View File

@ -194,7 +194,7 @@ else if ($action == 'addline' && $user->rights->fournisseur->commande->creer)
|| (! GETPOST('dp_desc') && ! GETPOST('addline_predefined') && GETPOST('idprod', 'int')>0) // we push enter onto qty field || (! GETPOST('dp_desc') && ! GETPOST('addline_predefined') && GETPOST('idprod', 'int')>0) // we push enter onto qty field
) )
{ {
$predef=(($conf->global->MAIN_FEATURES_LEVEL < 2) ? '_predef' : ''); $predef= '_predef';
$idprod=GETPOST('idprod', 'int'); $idprod=GETPOST('idprod', 'int');
$product_desc = (GETPOST('product_desc')?GETPOST('product_desc'):(GETPOST('np_desc')?GETPOST('np_desc'):'')); $product_desc = (GETPOST('product_desc')?GETPOST('product_desc'):(GETPOST('np_desc')?GETPOST('np_desc'):''));
$price_ht = ''; $price_ht = '';
@ -202,7 +202,6 @@ else if ($action == 'addline' && $user->rights->fournisseur->commande->creer)
} }
$qty = GETPOST('qty'.$predef); $qty = GETPOST('qty'.$predef);
$remise_percent=GETPOST('remise_percent'.$predef); $remise_percent=GETPOST('remise_percent'.$predef);
if (GETPOST('addline_libre') && GETPOST('pu') < 0 && $qty < 0) if (GETPOST('addline_libre') && GETPOST('pu') < 0 && $qty < 0)
{ {
setEventMessage($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPrice'), $langs->transnoentitiesnoconv('Qty')), 'errors'); setEventMessage($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPrice'), $langs->transnoentitiesnoconv('Qty')), 'errors');

View File

@ -4,7 +4,7 @@
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr> * Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
* Copyright (C) 2005 Marc Barilley <marc@ocebo.fr> * Copyright (C) 2005 Marc Barilley <marc@ocebo.fr>
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
* *
@ -824,7 +824,7 @@ if ($action == 'send' && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_P
{ {
if (dol_strlen($_POST['subject'])) $subject=$_POST['subject']; if (dol_strlen($_POST['subject'])) $subject=$_POST['subject'];
else $subject = $langs->transnoentities('CustomerOrder').' '.$object->ref; else $subject = $langs->transnoentities('CustomerOrder').' '.$object->ref;
$actiontypecode='AC_SUP_ORD'; $actiontypecode='AC_SUP_INV';
$actionmsg = $langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto.".\n"; $actionmsg = $langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto.".\n";
if ($message) if ($message)
{ {

View File

@ -233,7 +233,7 @@ else
{ {
print_barre_liste($langs->trans("ListeCP"), $page, $_SERVER["PHP_SELF"], '', $sortfield, $sortorder, "", $num); print_barre_liste($langs->trans("ListeCP"), $page, $_SERVER["PHP_SELF"], '', $sortfield, $sortorder, "", $num);
print '<div class="tabBar">'; dol_fiche_head('');
} }
@ -248,7 +248,7 @@ if ($id > 0)
print '</br>'; print '</br>';
} }
else { else {
print '</div>'; dol_fiche_end();
} }
print '<form method="get" action="'.$_SERVER["PHP_SELF"].'">'."\n"; print '<form method="get" action="'.$_SERVER["PHP_SELF"].'">'."\n";

View File

@ -985,13 +985,12 @@ create table llx_product_customer_price
)ENGINE=innodb; )ENGINE=innodb;
ALTER TABLE llx_product_customer_price ADD INDEX idx_product_customer_price_fk_user (fk_user); ALTER TABLE llx_product_customer_price ADD INDEX idx_product_customer_price_fk_user (fk_user);
ALTER TABLE llx_product_customer_price ADD INDEX idx_product_customer_price_fk_soc (fk_soc);
ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_product_customer_price_fk_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
ALTER TABLE llx_product_customer_price ADD UNIQUE INDEX uk_customer_price_fk_product_fk_soc (fk_product, fk_soc); ALTER TABLE llx_product_customer_price ADD UNIQUE INDEX uk_customer_price_fk_product_fk_soc (fk_product, fk_soc);
ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_customer_price_fk_product FOREIGN KEY (fk_product) REFERENCES llx_product(rowid) ON DELETE CASCADE; ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_product_customer_price_fk_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_customer_price_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe(rowid) ON DELETE CASCADE; ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_customer_price_fk_product FOREIGN KEY (fk_product) REFERENCES llx_product(rowid);
ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_customer_price_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe(rowid);
ALTER TABLE llx_user ADD COLUMN barcode varchar(255) DEFAULT NULL; ALTER TABLE llx_user ADD COLUMN barcode varchar(255) DEFAULT NULL;
ALTER TABLE llx_user ADD COLUMN fk_barcode_type integer DEFAULT 0; ALTER TABLE llx_user ADD COLUMN fk_barcode_type integer DEFAULT 0;
@ -1011,7 +1010,7 @@ create table llx_product_customer_price_log
price_min_ttc double(24,8) DEFAULT 0, price_min_ttc double(24,8) DEFAULT 0,
price_base_type varchar(3) DEFAULT 'HT', price_base_type varchar(3) DEFAULT 'HT',
tva_tx double(6,3), tva_tx double(6,3),
recuperableonly integer NOT NULL DEFAULT '0', -- Other NPR VAT recuperableonly integer NOT NULL DEFAULT 0, -- Other NPR VAT
localtax1_tx double(6,3) DEFAULT 0, -- Other local VAT 1 localtax1_tx double(6,3) DEFAULT 0, -- Other local VAT 1
localtax2_tx double(6,3) DEFAULT 0, -- Other local VAT 2 localtax2_tx double(6,3) DEFAULT 0, -- Other local VAT 2
fk_user integer, fk_user integer,
@ -1028,7 +1027,7 @@ CREATE TABLE llx_product_batch (
eatby datetime DEFAULT NULL, eatby datetime DEFAULT NULL,
sellby datetime DEFAULT NULL, sellby datetime DEFAULT NULL,
batch varchar(30) DEFAULT NULL, batch varchar(30) DEFAULT NULL,
qty double NOT NULL DEFAULT '0', qty double NOT NULL DEFAULT 0,
import_key varchar(14) DEFAULT NULL, import_key varchar(14) DEFAULT NULL,
KEY ix_fk_product_stock (fk_product_stock) KEY ix_fk_product_stock (fk_product_stock)
) ENGINE=InnoDB; ) ENGINE=InnoDB;
@ -1039,7 +1038,7 @@ CREATE TABLE llx_expeditiondet_batch (
eatby date DEFAULT NULL, eatby date DEFAULT NULL,
sellby date DEFAULT NULL, sellby date DEFAULT NULL,
batch varchar(30) DEFAULT NULL, batch varchar(30) DEFAULT NULL,
qty double NOT NULL DEFAULT '0', qty double NOT NULL DEFAULT 0,
fk_origin_stock integer NOT NULL, fk_origin_stock integer NOT NULL,
KEY ix_fk_expeditiondet (fk_expeditiondet) KEY ix_fk_expeditiondet (fk_expeditiondet)
) ENGINE=InnoDB; ) ENGINE=InnoDB;
@ -1063,9 +1062,21 @@ CREATE TABLE llx_payment_salary (
)ENGINE=innodb; )ENGINE=innodb;
--New 1074 : Stock mouvement link to origin --New 1074 : Stock mouvement link to origin
ALTER TABLE llx_stock_mouvement ADD fk_origin INT NOT NULL ; ALTER TABLE llx_stock_mouvement ADD fk_origin integer;
ALTER TABLE llx_stock_mouvement ADD origintype VARCHAR( 32 ) NOT NULL ; ALTER TABLE llx_stock_mouvement ADD origintype VARCHAR(32);
--NEw 1300 : Add THM on user --New 1300 : Add THM on user
ALTER TABLE llx_user ADD thm FLOAT NOT NULL ; ALTER TABLE llx_user ADD thm double(24,8);
ALTER TABLE llx_projet_task_time ADD thm FLOAT NOT NULL ; ALTER TABLE llx_projet_task_time ADD thm double(24,8);
-- New : extrafield on categories
create table llx_categories_extrafields
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
tms timestamp,
fk_object integer NOT NULL,
import_key varchar(14) -- import key
) ENGINE=innodb;
ALTER TABLE llx_categories_extrafields ADD INDEX idx_categories_extrafields (fk_object);

View File

@ -102,3 +102,17 @@ update llx_opensurvey_sondage set format = 'A' where format = 'A+';
-- ALTER TABLE llx_facture_fourn ALTER COLUMN fk_cond_reglement DROP NOT NULL; -- ALTER TABLE llx_facture_fourn ALTER COLUMN fk_cond_reglement DROP NOT NULL;
-- Sequence to removed duplicated values of barcode. Use serveral times if you still have duplicate.
create table tmp_product as (select * from llx_product);
select barcode, max(rowid) from tmp_product where barcode is not null group by barcode having count(rowid) >= 2;
update llx_product set barcode = null where barcode is not null and (barcode, rowid) in (select barcode, max(rowid) from tmp_product where barcode is not null group by barcode having count(rowid) >= 2);
drop table tmp_product;
-- Sequence to removed duplicated values of barcode. Use serveral times if you still have duplicate.
create table tmp_societe as (select * from llx_societe);
select barcode, max(rowid) from tmp_societe where barcode is not null group by barcode having count(rowid) >= 2;
update llx_societe set barcode = null where barcode is not null and (barcode, rowid) in (select barcode, max(rowid) from tmp_societe where barcode is not null group by barcode having count(rowid) >= 2);
drop table tmp_societe;

View File

@ -0,0 +1,20 @@
-- ===================================================================
-- Copyright (C) 2014 Jean-François Ferry <jfefe@aternatik.fr>
--
-- 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/>.
--
-- ===================================================================
ALTER TABLE llx_categories_extrafields ADD INDEX idx_categories_extrafields (fk_object);

View File

@ -0,0 +1,26 @@
-- ========================================================================
-- Copyright (C) 2014 Jean-François Ferry <jfefe@aternatik.fr>
--
-- 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/>.
--
-- ========================================================================
create table llx_categories_extrafields
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
tms timestamp,
fk_object integer NOT NULL,
import_key varchar(14) -- import key
) ENGINE=innodb;

View File

@ -1,8 +1,6 @@
-- ============================================================================ -- ============================================================================
-- Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2014 Laurent Destailleur <eldy@users.sourceforge.net>
-- Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net> -- Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
-- Copyright (C) 2009-2012 Regis Houssin <regis.houssin@capnetworks.com>
-- Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
-- --
-- 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
@ -21,10 +19,9 @@
ALTER TABLE llx_product_customer_price ADD INDEX idx_product_customer_price_fk_user (fk_user); ALTER TABLE llx_product_customer_price ADD INDEX idx_product_customer_price_fk_user (fk_user);
ALTER TABLE llx_product_customer_price ADD INDEX idx_product_customer_price_fk_soc (fk_soc);
ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_product_customer_price_fk_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
ALTER TABLE llx_product_customer_price ADD UNIQUE INDEX uk_customer_price_fk_product_fk_soc (fk_product, fk_soc); ALTER TABLE llx_product_customer_price ADD UNIQUE INDEX uk_customer_price_fk_product_fk_soc (fk_product, fk_soc);
ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_customer_price_fk_product FOREIGN KEY (fk_product) REFERENCES llx_product(rowid) ON DELETE CASCADE; ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_product_customer_price_fk_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_customer_price_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe(rowid) ON DELETE CASCADE; ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_product_customer_price_fk_product FOREIGN KEY (fk_product) REFERENCES llx_product(rowid);
ALTER TABLE llx_product_customer_price ADD CONSTRAINT fk_product_customer_price_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe(rowid);

View File

@ -23,5 +23,6 @@ create table llx_projet_task_time
task_date date, task_date date,
task_duration double, task_duration double,
fk_user integer, fk_user integer,
thm double(24,8),
note text note text
)ENGINE=innodb; )ENGINE=innodb;

View File

@ -54,6 +54,7 @@ create table llx_user
fk_socpeople integer, fk_socpeople integer,
fk_member integer, fk_member integer,
fk_user integer, -- Hierarchic parent fk_user integer, -- Hierarchic parent
thm double(24,8),
note text DEFAULT NULL, note text DEFAULT NULL,
datelastlogin datetime, datelastlogin datetime,
datepreviouslogin datetime, datepreviouslogin datetime,

View File

@ -109,8 +109,8 @@ ParameterInDolibarr=الوحدة %s
LanguageParameter=وحدة اللغة %s LanguageParameter=وحدة اللغة %s
LanguageBrowserParameter=الوحدة %s LanguageBrowserParameter=الوحدة %s
LocalisationDolibarrParameters=الوحدات المحلية LocalisationDolibarrParameters=الوحدات المحلية
ClientTZ=المنطقة الزمنية العميل (المستخدم) # ClientTZ=Client Time Zone (user)
ClientHour=ساعة العميل (المستخدم) # ClientHour=Client time (user)
OSTZ=المنطقة الزمنية لنظام تشغيل الخادم OSTZ=المنطقة الزمنية لنظام تشغيل الخادم
PHPTZ=المنطقة الزمنية خادم PHP PHPTZ=المنطقة الزمنية خادم PHP
PHPServerOffsetWithGreenwich=عرض وزنية جرينتش لخادم لغة الـ PHP (ثانية) PHPServerOffsetWithGreenwich=عرض وزنية جرينتش لخادم لغة الـ PHP (ثانية)
@ -512,8 +512,8 @@ Module50200Name= باي بال
Module50200Desc= وحدة لتقديم على صفحة الدفع عبر الإنترنت عن طريق بطاقة الائتمان مع بايبال Module50200Desc= وحدة لتقديم على صفحة الدفع عبر الإنترنت عن طريق بطاقة الائتمان مع بايبال
# Module54000Name=PrintIPP # Module54000Name=PrintIPP
# Module54000Desc=Print via Cups IPP Printer. # Module54000Desc=Print via Cups IPP Printer.
# Module55000Name=Open Survey # Module55000Name=Open Poll
# Module55000Desc=Module to make online surveys (like Doodle, Studs, Rdvz, ...) # Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
# Module59000Name=Margins # Module59000Name=Margins
# Module59000Desc=Module to manage margins # Module59000Desc=Module to manage margins
# Module60000Name=Commissions # Module60000Name=Commissions
@ -732,8 +732,8 @@ Permission2515=إعداد وثائق وأدلة
Permission50201=قراءة المعاملات Permission50201=قراءة المعاملات
Permission50202=استيراد المعاملات Permission50202=استيراد المعاملات
# Permission54001=Print # Permission54001=Print
# Permission55001=Read surveys # Permission55001=Read polls
# Permission55002=Create/modify surveys # Permission55002=Create/modify polls
# Permission59001=Read commercial margins # Permission59001=Read commercial margins
# Permission59002=Define commercial margins # Permission59002=Define commercial margins
# DictionaryCompanyType=Thirdparties type # DictionaryCompanyType=Thirdparties type

View File

@ -28,6 +28,9 @@ InvoiceReplacementDesc=<b>استبدال الفاتورة</b> يستخدم لا
InvoiceAvoir=علما الائتمان InvoiceAvoir=علما الائتمان
InvoiceAvoirAsk=علما الائتمان لتصحيح الفاتورة InvoiceAvoirAsk=علما الائتمان لتصحيح الفاتورة
InvoiceAvoirDesc=<b>الفضل</b> في <b>المذكرة</b> سلبية الفاتورة تستخدم لحل كون فاتورة بمبلغ قد يختلف عن المبلغ المدفوع فعلا (لأنه دفع الكثير من العملاء عن طريق الخطأ ، أو لن تدفع بالكامل منذ عودته لبعض المنتجات على سبيل المثال). InvoiceAvoirDesc=<b>الفضل</b> في <b>المذكرة</b> سلبية الفاتورة تستخدم لحل كون فاتورة بمبلغ قد يختلف عن المبلغ المدفوع فعلا (لأنه دفع الكثير من العملاء عن طريق الخطأ ، أو لن تدفع بالكامل منذ عودته لبعض المنتجات على سبيل المثال).
# invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
# invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
# invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
ReplaceInvoice=يستعاض عن فاتورة ٪ ق ReplaceInvoice=يستعاض عن فاتورة ٪ ق
ReplacementInvoice=استبدال الفاتورة ReplacementInvoice=استبدال الفاتورة
ReplacedByInvoice=بعبارة فاتورة ق ٪ ReplacedByInvoice=بعبارة فاتورة ق ٪
@ -222,8 +225,6 @@ DispenseMontantLettres=ليه factures rédigées قدم المساواة طرا
NonPercuRecuperable=غير القابلة للاسترداد NonPercuRecuperable=غير القابلة للاسترداد
SetConditions=تحدد شروط الدفع SetConditions=تحدد شروط الدفع
SetMode=حدد طريقة الدفع SetMode=حدد طريقة الدفع
SetDate= في الموعد المحدد
# SelectDate=Select a date
Billed=فواتير Billed=فواتير
RepeatableInvoice=محددة مسبقا فاتورة RepeatableInvoice=محددة مسبقا فاتورة
RepeatableInvoices=محددة مسبقا والفواتير RepeatableInvoices=محددة مسبقا والفواتير

View File

@ -66,7 +66,7 @@ ReturnInCompany=عودة الى الزبون / احتمال بطاقة
ContentsVisibleByAll=محتويات سوف تكون واضحة من جانب جميع ContentsVisibleByAll=محتويات سوف تكون واضحة من جانب جميع
ContentsVisibleByAllShort=محتويات مرئية من قبل جميع ContentsVisibleByAllShort=محتويات مرئية من قبل جميع
ContentsNotVisibleByAllShort=محتويات غير مرئي من قبل جميع ContentsNotVisibleByAllShort=محتويات غير مرئي من قبل جميع
CategoriesTree=شجرة التصنيفات # CategoriesTree=Categories tree
DeleteCategory=حذف فئة DeleteCategory=حذف فئة
ConfirmDeleteCategory=هل أنت متأكد من أنك تريد حذف هذه الفئة؟ ConfirmDeleteCategory=هل أنت متأكد من أنك تريد حذف هذه الفئة؟
RemoveFromCategory=إزالة الارتباط مع catégorie RemoveFromCategory=إزالة الارتباط مع catégorie
@ -105,3 +105,9 @@ CatMemberList=قائمة بأسماء أعضاء الفئات
# CatCusLinks=Links between customers/prospects and categories # CatCusLinks=Links between customers/prospects and categories
# CatSupLinks=Links between suppliers and categories # CatSupLinks=Links between suppliers and categories
# DeleteFromCat=Remove from category # DeleteFromCat=Remove from category
# DeletePicture=Picture delete
# ConfirmDeletePicture=Confirm picture deletion?
# ExtraFieldsCategories=Complementary attributes
# CategoriesSetup=Categories setup
# CategorieRecursiv=Link with parent category automatically
# CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory

View File

@ -403,7 +403,6 @@ ActivityStateFilter=نشاط المركز
# CurrentOutstandingBill=Current outstanding bill # CurrentOutstandingBill=Current outstanding bill
# OutstandingBill=Max. for outstanding bill # OutstandingBill=Max. for outstanding bill
# OutstandingBillReached=Reached max. for outstanding bill # OutstandingBillReached=Reached max. for outstanding bill
# Monkey
MonkeyNumRefModelDesc=عودة número مع الشكل nnnn - ٪ syymm الزبون ورمز وnnnn - ٪ syymm مورد للقانون حيث السنة هو السنة ، هو شهر ملم وnnnn هو تسلسل بلا كسر وعدم العودة إلى 0. MonkeyNumRefModelDesc=عودة número مع الشكل nnnn - ٪ syymm الزبون ورمز وnnnn - ٪ syymm مورد للقانون حيث السنة هو السنة ، هو شهر ملم وnnnn هو تسلسل بلا كسر وعدم العودة إلى 0.
# Leopard
LeopardNumRefModelDesc=العميل / المورد مدونة مجانية. هذا القانون يمكن تعديلها في أي وقت. LeopardNumRefModelDesc=العميل / المورد مدونة مجانية. هذا القانون يمكن تعديلها في أي وقت.
# ManagingDirectors=Manager(s) name (CEO, director, president...)

View File

@ -41,16 +41,20 @@ VATToCollect=ضريبة القيمة المضافة مشتريات
VATSummary=رصيد الضريبة على القيمة المضافة VATSummary=رصيد الضريبة على القيمة المضافة
LT2SummaryES=IRPF الرصيد LT2SummaryES=IRPF الرصيد
VATPaid=دفع ضريبة القيمة المضافة VATPaid=دفع ضريبة القيمة المضافة
# SalaryPaid=Salary paid
LT2PaidES=مدفوع IRPF LT2PaidES=مدفوع IRPF
LT2CustomerES=مبيعات IRPF LT2CustomerES=مبيعات IRPF
LT2SupplierES=مشتريات IRPF LT2SupplierES=مشتريات IRPF
VATCollected=جمعت ضريبة القيمة المضافة VATCollected=جمعت ضريبة القيمة المضافة
ToPay=دفع ToPay=دفع
ToGet=العودة ToGet=العودة
# SpecialExpensesArea=Area for all special paiements
TaxAndDividendsArea=ضريبة أرباح الأسهم والمساهمات الاجتماعية ، ومنطقة TaxAndDividendsArea=ضريبة أرباح الأسهم والمساهمات الاجتماعية ، ومنطقة
SocialContribution=المساهمة الاجتماعية SocialContribution=المساهمة الاجتماعية
SocialContributions=المساهمات الاجتماعية SocialContributions=المساهمات الاجتماعية
# MenuSpecialExpenses=Special expenses
MenuTaxAndDividends=الضرائب وعوائد MenuTaxAndDividends=الضرائب وعوائد
# MenuSalaries=Salaries
MenuSocialContributions=المساهمات الاجتماعية MenuSocialContributions=المساهمات الاجتماعية
MenuNewSocialContribution=مساهمة جديدة MenuNewSocialContribution=مساهمة جديدة
NewSocialContribution=المساهمة الاجتماعية الجديدة NewSocialContribution=المساهمة الاجتماعية الجديدة
@ -63,11 +67,14 @@ PaymentCustomerInvoice=الزبون تسديد الفاتورة
PaymentSupplierInvoice=دفع فاتورة المورد PaymentSupplierInvoice=دفع فاتورة المورد
PaymentSocialContribution=دفع المساهمة الاجتماعية PaymentSocialContribution=دفع المساهمة الاجتماعية
PaymentVat=دفع ضريبة القيمة المضافة PaymentVat=دفع ضريبة القيمة المضافة
# PaymentSalary=Salary payment
ListPayment=قائمة المدفوعات ListPayment=قائمة المدفوعات
ListOfPayments=قائمة المدفوعات ListOfPayments=قائمة المدفوعات
ListOfCustomerPayments=قائمة مدفوعات العملاء ListOfCustomerPayments=قائمة مدفوعات العملاء
ListOfSupplierPayments=قائمة الموردين المدفوعات ListOfSupplierPayments=قائمة الموردين المدفوعات
DatePayment=تاريخ الدفع DatePayment=تاريخ الدفع
# DateStartPeriod=Date start period
# DateEndPeriod=Date end period
NewVATPayment=دفع ضريبة القيمة المضافة الجديدة NewVATPayment=دفع ضريبة القيمة المضافة الجديدة
newLT2PaymentES=جديد IRPF دفع newLT2PaymentES=جديد IRPF دفع
LT2PaymentES=IRPF الدفع LT2PaymentES=IRPF الدفع

View File

@ -23,3 +23,4 @@ GoodStatusDeclaration=وتلقى البضائع الواردة أعلاه في
Deliverer=المنفذ : Deliverer=المنفذ :
Sender=مرسل Sender=مرسل
Recipient=المتلقي Recipient=المتلقي
# ErrorStockIsNotEnough=There's not enough stock

View File

@ -125,7 +125,7 @@ BankAccountNumber=رقم الحساب
BankAccountNumberKey=مفتاح BankAccountNumberKey=مفتاح
# SpecialCode=Special code # SpecialCode=Special code
# ExportStringFilter=%% allows replacing one or more characters in the text # ExportStringFilter=%% allows replacing one or more characters in the text
# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day<br>'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the following years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the previous years/months/days # ExportDateFilter='YYYY' 'YYYYMM' 'YYYYMMDD': filters by one year/month/day<br>'YYYY+YYYY' 'YYYYMM+YYYYMM' 'YYYYMMDD+YYYYMMDD': filters over a range of years/months/days<br>'&gt;YYYY' '&gt;YYYYMM' '&gt;YYYYMMDD': filters on the following years/months/days<br>'&lt;YYYY' '&lt;YYYYMM' '&lt;YYYYMMDD': filters on the previous years/months/days
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values # ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values
## filters ## filters
# SelectFilterFields=If you want to filter on some values, just input values here. # SelectFilterFields=If you want to filter on some values, just input values here.

View File

@ -80,12 +80,12 @@ MailingStatusRead=قرأ
# ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature
# EMailSentToNRecipients=EMail sent to %s recipients. # EMailSentToNRecipients=EMail sent to %s recipients.
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. # EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email.
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) # MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s)
# SendRemind=Send remind by EMails # SendRemind=Send reminder by EMails
# RemindSent=%S remind(s) sent # RemindSent=%s reminder(s) sent
# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) # AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent)
# NoRemindSent=No remind by EMail sent # NoRemindSent=No EMail reminder sent
# ResultOfMassSending=Result of mass remind sending by EMail # ResultOfMassSending=Result of mass EMail reminders sending
# Libelle des modules de liste de destinataires mailing # Libelle des modules de liste de destinataires mailing
MailingModuleDescContactCompanies=اتصالات لجميع الأطراف الثالثة (العملاء ، والاحتمال ، والمورد ،...) MailingModuleDescContactCompanies=اتصالات لجميع الأطراف الثالثة (العملاء ، والاحتمال ، والمورد ،...)

View File

@ -34,7 +34,7 @@ ErrorFailedToOpenFile=فشل في فتح الملف ٪ ق
ErrorCanNotCreateDir=لا يمكن إنشاء دير ق ErrorCanNotCreateDir=لا يمكن إنشاء دير ق
ErrorCanNotReadDir=لا يمكن قراءة دير ق ErrorCanNotReadDir=لا يمكن قراءة دير ق
ErrorConstantNotDefined=معلمة ٪s ق لم تحدد ErrorConstantNotDefined=معلمة ٪s ق لم تحدد
ErrorUnknown=Unkown خطأ # ErrorUnknown=Unknown error
ErrorSQL=خطأ SQL ErrorSQL=خطأ SQL
ErrorLogoFileNotFound=شعار ملف '٪ ق' لم يتم العثور على ErrorLogoFileNotFound=شعار ملف '٪ ق' لم يتم العثور على
ErrorGoToGlobalSetup=اذهب إلى 'شركة / مؤسسة' الإعداد لتثبيت هذا ErrorGoToGlobalSetup=اذهب إلى 'شركة / مؤسسة' الإعداد لتثبيت هذا
@ -60,6 +60,8 @@ ErrorNoSocialContributionForSellerCountry=خطأ ، لا يوجد نوع الم
ErrorFailedToSaveFile=خطأ ، وفشلت في انقاذ الملف. ErrorFailedToSaveFile=خطأ ، وفشلت في انقاذ الملف.
ErrorOnlyPngJpgSupported=خطأ فقط. بابوا نيو غينيا ، وجيه. شكل صورة ملف الدعم. ErrorOnlyPngJpgSupported=خطأ فقط. بابوا نيو غينيا ، وجيه. شكل صورة ملف الدعم.
ErrorImageFormatNotSupported=PHP الخاص بك لا يدعم وظائف لتحويل الصور من هذا الشكل. ErrorImageFormatNotSupported=PHP الخاص بك لا يدعم وظائف لتحويل الصور من هذا الشكل.
# SetDate=Set date
# SelectDate=Select a date
# SeeAlso=See also %s # SeeAlso=See also %s
BackgroundColorByDefault=لون الخلفية الافتراضي BackgroundColorByDefault=لون الخلفية الافتراضي
FileWasNotUploaded=يتم تحديد ملف مرفق لكنه لم يكن بعد تحميلها. انقر على "ملف إرفاق" لهذا الغرض. FileWasNotUploaded=يتم تحديد ملف مرفق لكنه لم يكن بعد تحميلها. انقر على "ملف إرفاق" لهذا الغرض.
@ -667,6 +669,7 @@ BySalesRepresentative=بواسطة مندوب مبيعات
# SetDemandReason=Set source # SetDemandReason=Set source
# ViewPrivateNote=View notes # ViewPrivateNote=View notes
# XMoreLines=%s line(s) hidden # XMoreLines=%s line(s) hidden
# PublicUrl=Public URL
# Week day # Week day
Monday=يوم الاثنين Monday=يوم الاثنين

View File

@ -1,18 +1,18 @@
# Dolibarr language file - Source file is en_US - opensurvey # Dolibarr language file - Source file is en_US - opensurvey
# Survey=Survey # Survey=Poll
# Surveys=Surveys # Surveys=Polls
# OrganizeYourMeetingEasily=Organize your meetings and surveys easily. First select type of survey... # OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll...
# NewSurvey=New survey # NewSurvey=New poll
# NoSurveysInDatabase=%s survey(s) into database. # NoSurveysInDatabase=%s poll(s) into database.
# OpenSurveyArea=Surveys area # OpenSurveyArea=Polls area
# AddACommentForPoll=You can add a comment into survey... # AddACommentForPoll=You can add a comment into poll...
# AddComment=Add comment # AddComment=Add comment
# CreatePoll=Create poll # CreatePoll=Create poll
# PollTitle=Poll title # PollTitle=Poll title
# ToReceiveEMailForEachVote=To receive an email for each vote # ToReceiveEMailForEachVote=Receive an email for each vote
# TypeDate=Type date # TypeDate=Type date
# TypeClassic=Type standard # TypeClassic=Type standard
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it # OpenSurveyStep2=Select your dates amoung the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days # RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day # CopyHoursOfFirstDay=Copy hours of first day
# RemoveAllHours=Remove all hours # RemoveAllHours=Remove all hours
@ -24,10 +24,10 @@
# CommentsOfVoters=Comments of voters # CommentsOfVoters=Comments of voters
# ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes) # ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes)
# RemovePoll=Remove poll # RemovePoll=Remove poll
# UrlForSurvey=URL to communicate to get a direct access to survey # UrlForSurvey=URL to communicate to get a direct access to poll
# PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: # PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll:
# CreateSurveyDate=Create a date survey # CreateSurveyDate=Create a date poll
# CreateSurveyStandard=Create a standard survey # CreateSurveyStandard=Create a standard poll
# CheckBox=Simple checkbox # CheckBox=Simple checkbox
# YesNoList=List (empty/yes/no) # YesNoList=List (empty/yes/no)
# PourContreList=List (empty/for/against) # PourContreList=List (empty/for/against)
@ -35,7 +35,7 @@
# TitleChoice=Choice label # TitleChoice=Choice label
# ExportSpreadsheet=Export result spreadsheet # ExportSpreadsheet=Export result spreadsheet
ExpireDate=الحد من التاريخ ExpireDate=الحد من التاريخ
# NbOfSurveys=Number of surveys # NbOfSurveys=Number of polls
# NbOfVoters=Nb of voters # NbOfVoters=Nb of voters
# SurveyResults=Results # SurveyResults=Results
# PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s.

View File

@ -22,6 +22,7 @@ Notify_WITHDRAW_CREDIT=انسحاب الائتمان
Notify_WITHDRAW_EMIT=Isue انسحاب Notify_WITHDRAW_EMIT=Isue انسحاب
Notify_ORDER_SENTBYMAIL=النظام العميل ترسل عن طريق البريد Notify_ORDER_SENTBYMAIL=النظام العميل ترسل عن طريق البريد
Notify_COMPANY_CREATE=طرف ثالث خلق Notify_COMPANY_CREATE=طرف ثالث خلق
# Notify_COMPANY_COMPANY_SENTBYMAIL=Mails sent from third party card
Notify_PROPAL_SENTBYMAIL=اقتراح التجارية المرسلة عن طريق البريد Notify_PROPAL_SENTBYMAIL=اقتراح التجارية المرسلة عن طريق البريد
Notify_ORDER_SENTBYMAIL=النظام العميل ترسل عن طريق البريد Notify_ORDER_SENTBYMAIL=النظام العميل ترسل عن طريق البريد
Notify_BILL_PAYED=دفعت فاتورة العميل Notify_BILL_PAYED=دفعت فاتورة العميل
@ -40,6 +41,7 @@ Notify_MEMBER_VALIDATE=عضو مصدق
Notify_MEMBER_SUBSCRIPTION=عضو المكتتب Notify_MEMBER_SUBSCRIPTION=عضو المكتتب
Notify_MEMBER_RESILIATE=عضو resiliated Notify_MEMBER_RESILIATE=عضو resiliated
Notify_MEMBER_DELETE=عضو حذف Notify_MEMBER_DELETE=عضو حذف
# Notify_PROJECT_CREATE=Project creation
NbOfAttachedFiles=عدد الملفات المرفقة / وثائق NbOfAttachedFiles=عدد الملفات المرفقة / وثائق
TotalSizeOfAttachedFiles=اجمالى حجم الملفات المرفقة / وثائق TotalSizeOfAttachedFiles=اجمالى حجم الملفات المرفقة / وثائق
MaxSize=الحجم الأقصى MaxSize=الحجم الأقصى

View File

@ -168,7 +168,7 @@ CloneProduct=استنساخ المنتجات أو الخدمات
ConfirmCloneProduct=هل أنت متأكد من أن المنتج أو الخدمة استنساخ <b>٪ ق؟</b> ConfirmCloneProduct=هل أنت متأكد من أن المنتج أو الخدمة استنساخ <b>٪ ق؟</b>
CloneContentProduct=استنساخ جميع المعلومات الرئيسية من المنتجات / الخدمات CloneContentProduct=استنساخ جميع المعلومات الرئيسية من المنتجات / الخدمات
ClonePricesProduct=استنساخ الرئيسية معلومات والأسعار ClonePricesProduct=استنساخ الرئيسية معلومات والأسعار
# CloneCompositionProduct=Clone product/service composition # CloneCompositionProduct=Clone virtual product/services
ProductIsUsed=ويستخدم هذا المنتج ProductIsUsed=ويستخدم هذا المنتج
NewRefForClone=المرجع. من المنتجات الجديدة / خدمة NewRefForClone=المرجع. من المنتجات الجديدة / خدمة
CustomerPrices=أسعار العملاء CustomerPrices=أسعار العملاء

View File

@ -33,9 +33,9 @@ TimesSpent=قضى وقتا
RefTask=المرجع. مهمة RefTask=المرجع. مهمة
LabelTask=علامة مهمة LabelTask=علامة مهمة
# TaskTimeSpent=Time spent on tasks # TaskTimeSpent=Time spent on tasks
# TaskTimeUser=Task time user # TaskTimeUser=User
# TaskTimeNote=Task time note # TaskTimeNote=Note
# TaskTimeDate=Task time date # TaskTimeDate=Date
NewTimeSpent=جديد الوقت الذي يقضيه NewTimeSpent=جديد الوقت الذي يقضيه
MyTimeSpent=وقتي قضى MyTimeSpent=وقتي قضى
MyTasks=مهمتي MyTasks=مهمتي

View File

@ -0,0 +1,6 @@
# Dolibarr language file - Source file is en_US - users
# Employee=Employee
# NewSalaryPayment=New salary payment
# SalaryPayment=Salary payment
# SalariesPayments=Salaries payments
# ShowSalaryPayment=Show salary payment

View File

@ -512,8 +512,8 @@ Module50200Name= Paypal
Module50200Desc= Модул предлага онлайн страница на плащане с кредитна карта с Paypal Module50200Desc= Модул предлага онлайн страница на плащане с кредитна карта с Paypal
# Module54000Name=PrintIPP # Module54000Name=PrintIPP
# Module54000Desc=Print via Cups IPP Printer. # Module54000Desc=Print via Cups IPP Printer.
# Module55000Name=Open Survey # Module55000Name=Open Poll
# Module55000Desc=Module to make online surveys (like Doodle, Studs, Rdvz, ...) # Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
Module59000Name=Полета Module59000Name=Полета
Module59000Desc=Модул за управление на маржовете Module59000Desc=Модул за управление на маржовете
Module60000Name=Комисии Module60000Name=Комисии
@ -732,8 +732,8 @@ Permission50101=Използвайте точка на продажбите
Permission50201=Прочети сделки Permission50201=Прочети сделки
Permission50202=Сделки на внос Permission50202=Сделки на внос
# Permission54001=Print # Permission54001=Print
# Permission55001=Read surveys # Permission55001=Read polls
# Permission55002=Create/modify surveys # Permission55002=Create/modify polls
# Permission59001=Read commercial margins # Permission59001=Read commercial margins
# Permission59002=Define commercial margins # Permission59002=Define commercial margins
# DictionaryCompanyType=Thirdparties type # DictionaryCompanyType=Thirdparties type

View File

@ -28,6 +28,9 @@ InvoiceReplacementDesc=<b>Подмяна фактура</b> се използв
InvoiceAvoir=Кредитно известие InvoiceAvoir=Кредитно известие
InvoiceAvoirAsk=Кредитно известие за коригиране на фактура InvoiceAvoirAsk=Кредитно известие за коригиране на фактура
InvoiceAvoirDesc=<b>Кредитно известие</b> е отрицателна фактура, използвани за решаване на факта, че фактурата е сумата, която се различава от сумата, наистина са платени (защото платил твърде много от грешка, или няма да се изплаща напълно, тъй като той се върна някои продукти, например). InvoiceAvoirDesc=<b>Кредитно известие</b> е отрицателна фактура, използвани за решаване на факта, че фактурата е сумата, която се различава от сумата, наистина са платени (защото платил твърде много от грешка, или няма да се изплаща напълно, тъй като той се върна някои продукти, например).
# invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
# invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
# invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
ReplaceInvoice=Сменете фактура %s ReplaceInvoice=Сменете фактура %s
ReplacementInvoice=Подмяна фактура ReplacementInvoice=Подмяна фактура
ReplacedByInvoice=Заменен с фактура %s ReplacedByInvoice=Заменен с фактура %s
@ -222,8 +225,6 @@ DispenseMontantLettres=Законопроектът, изготвен от ме
NonPercuRecuperable=Невъзстановими NonPercuRecuperable=Невъзстановими
SetConditions=Задайте условията за плащане SetConditions=Задайте условията за плащане
SetMode=Задайте режим на плащане SetMode=Задайте режим на плащане
SetDate= Настройка на датата
SelectDate=Изберете дата
Billed=Таксува Billed=Таксува
RepeatableInvoice=Предварително дефиниран фактура RepeatableInvoice=Предварително дефиниран фактура
RepeatableInvoices=Предварително дефинирани фактури RepeatableInvoices=Предварително дефинирани фактури

View File

@ -66,7 +66,7 @@ ReturnInCompany=Обратно към картата на клиента/prospe
ContentsVisibleByAll=Съдържанието ще се вижда от всички ContentsVisibleByAll=Съдържанието ще се вижда от всички
ContentsVisibleByAllShort=Съдържанието е видимо от всички ContentsVisibleByAllShort=Съдържанието е видимо от всички
ContentsNotVisibleByAllShort=Съдържанието не е видимо от всички ContentsNotVisibleByAllShort=Съдържанието не е видимо от всички
CategoriesTree=Категории дърво # CategoriesTree=Categories tree
DeleteCategory=Изтриване на категория DeleteCategory=Изтриване на категория
ConfirmDeleteCategory=Сигурни ли сте, че желаете да изтриете тази категория? ConfirmDeleteCategory=Сигурни ли сте, че желаете да изтриете тази категория?
RemoveFromCategory=Премахване на връзката с категория RemoveFromCategory=Премахване на връзката с категория
@ -105,3 +105,9 @@ CatMemberList=Списък на членовете категории
# CatCusLinks=Links between customers/prospects and categories # CatCusLinks=Links between customers/prospects and categories
# CatSupLinks=Links between suppliers and categories # CatSupLinks=Links between suppliers and categories
DeleteFromCat=Премахване от категорията DeleteFromCat=Премахване от категорията
# DeletePicture=Picture delete
# ConfirmDeletePicture=Confirm picture deletion?
# ExtraFieldsCategories=Complementary attributes
# CategoriesSetup=Categories setup
# CategorieRecursiv=Link with parent category automatically
# CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory

View File

@ -403,7 +403,6 @@ ActivityStateFilter=Състоянието на дейността
# CurrentOutstandingBill=Current outstanding bill # CurrentOutstandingBill=Current outstanding bill
# OutstandingBill=Max. for outstanding bill # OutstandingBill=Max. for outstanding bill
# OutstandingBillReached=Reached max. for outstanding bill # OutstandingBillReached=Reached max. for outstanding bill
# Monkey
MonkeyNumRefModelDesc=Връщане Numero с формат %syymm-NNNN за клиента код и %syymm-NNNN за доставчика код, където YY е годината, mm е месец и NNNN е последователност, без почивка и няма връщане назад до 0. MonkeyNumRefModelDesc=Връщане Numero с формат %syymm-NNNN за клиента код и %syymm-NNNN за доставчика код, където YY е годината, mm е месец и NNNN е последователност, без почивка и няма връщане назад до 0.
# Leopard
LeopardNumRefModelDesc=Кодът е безплатно. Този код може да бъде променен по всяко време. LeopardNumRefModelDesc=Кодът е безплатно. Този код може да бъде променен по всяко време.
# ManagingDirectors=Manager(s) name (CEO, director, president...)

View File

@ -41,16 +41,20 @@ VATToCollect=ДДС покупки
VATSummary=ДДС баланс VATSummary=ДДС баланс
LT2SummaryES=IRPF баланс LT2SummaryES=IRPF баланс
VATPaid=ДДС, платен VATPaid=ДДС, платен
# SalaryPaid=Salary paid
LT2PaidES=IRPF платен LT2PaidES=IRPF платен
LT2CustomerES=IRPF продажби LT2CustomerES=IRPF продажби
LT2SupplierES=IRPF покупки LT2SupplierES=IRPF покупки
VATCollected=Събраният ДДС VATCollected=Събраният ДДС
ToPay=За да платите ToPay=За да платите
ToGet=За да се върнете ToGet=За да се върнете
# SpecialExpensesArea=Area for all special paiements
TaxAndDividendsArea=Данъци, вноски за социално и дивиденти площ TaxAndDividendsArea=Данъци, вноски за социално и дивиденти площ
SocialContribution=Социален принос SocialContribution=Социален принос
SocialContributions=Социалноосигурителни вноски SocialContributions=Социалноосигурителни вноски
# MenuSpecialExpenses=Special expenses
MenuTaxAndDividends=Данъци и дивиденти MenuTaxAndDividends=Данъци и дивиденти
# MenuSalaries=Salaries
MenuSocialContributions=Социалноосигурителни вноски MenuSocialContributions=Социалноосигурителни вноски
MenuNewSocialContribution=Нов принос MenuNewSocialContribution=Нов принос
NewSocialContribution=Нова социална принос NewSocialContribution=Нова социална принос
@ -63,11 +67,14 @@ PaymentCustomerInvoice=Плащане на клиенти фактура
PaymentSupplierInvoice=Плащане доставчик фактура PaymentSupplierInvoice=Плащане доставчик фактура
PaymentSocialContribution=Осигурителната вноска за плащане PaymentSocialContribution=Осигурителната вноска за плащане
PaymentVat=Плащането на ДДС PaymentVat=Плащането на ДДС
# PaymentSalary=Salary payment
ListPayment=Списък на плащанията ListPayment=Списък на плащанията
ListOfPayments=Списък на плащанията ListOfPayments=Списък на плащанията
ListOfCustomerPayments=Списък на клиентски плащания ListOfCustomerPayments=Списък на клиентски плащания
ListOfSupplierPayments=Списък на доставчика плащания ListOfSupplierPayments=Списък на доставчика плащания
DatePayment=Дата на плащане DatePayment=Дата на плащане
# DateStartPeriod=Date start period
# DateEndPeriod=Date end period
NewVATPayment=Нова плащането на ДДС NewVATPayment=Нова плащането на ДДС
newLT2PaymentES=Нова IRPF плащане newLT2PaymentES=Нова IRPF плащане
LT2PaymentES=IRPF плащане LT2PaymentES=IRPF плащане

View File

@ -23,3 +23,4 @@ GoodStatusDeclaration=Стоките са получили по-горе в до
Deliverer=Избавител: Deliverer=Избавител:
Sender=Подател Sender=Подател
Recipient=Получател Recipient=Получател
# ErrorStockIsNotEnough=There's not enough stock

View File

@ -125,7 +125,7 @@ BankAccountNumber=Номер на сметка
BankAccountNumberKey=Ключ BankAccountNumberKey=Ключ
# SpecialCode=Special code # SpecialCode=Special code
# ExportStringFilter=%% allows replacing one or more characters in the text # ExportStringFilter=%% allows replacing one or more characters in the text
# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day<br>'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the following years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the previous years/months/days # ExportDateFilter='YYYY' 'YYYYMM' 'YYYYMMDD': filters by one year/month/day<br>'YYYY+YYYY' 'YYYYMM+YYYYMM' 'YYYYMMDD+YYYYMMDD': filters over a range of years/months/days<br>'&gt;YYYY' '&gt;YYYYMM' '&gt;YYYYMMDD': filters on the following years/months/days<br>'&lt;YYYY' '&lt;YYYYMM' '&lt;YYYYMMDD': filters on the previous years/months/days
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values # ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values
## filters ## filters
# SelectFilterFields=If you want to filter on some values, just input values here. # SelectFilterFields=If you want to filter on some values, just input values here.

View File

@ -80,12 +80,12 @@ ActivateCheckRead=Оставя се да се използва за четене
ActivateCheckReadKey=Key използване за криптиране на използването на URL адрес за обратна разписка и функция unsubcribe ActivateCheckReadKey=Key използване за криптиране на използването на URL адрес за обратна разписка и функция unsubcribe
# EMailSentToNRecipients=EMail sent to %s recipients. # EMailSentToNRecipients=EMail sent to %s recipients.
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. # EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email.
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) # MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s)
# SendRemind=Send remind by EMails # SendRemind=Send reminder by EMails
# RemindSent=%S remind(s) sent # RemindSent=%s reminder(s) sent
# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) # AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent)
# NoRemindSent=No remind by EMail sent # NoRemindSent=No EMail reminder sent
# ResultOfMassSending=Result of mass remind sending by EMail # ResultOfMassSending=Result of mass EMail reminders sending
# Libelle des modules de liste de destinataires mailing # Libelle des modules de liste de destinataires mailing
MailingModuleDescContactCompanies=Контакти на всички трети лица (клиенти, перспектива, доставчици, ...) MailingModuleDescContactCompanies=Контакти на всички трети лица (клиенти, перспектива, доставчици, ...)

View File

@ -34,7 +34,7 @@ ErrorFailedToOpenFile=Файла %s не може да се отвори
ErrorCanNotCreateDir=Не може да се създаде папка %s ErrorCanNotCreateDir=Не може да се създаде папка %s
ErrorCanNotReadDir=Не може да се прочете директорията %s ErrorCanNotReadDir=Не може да се прочете директорията %s
ErrorConstantNotDefined=Параметъра %s не е дефиниран ErrorConstantNotDefined=Параметъра %s не е дефиниран
ErrorUnknown=Непозната грешка # ErrorUnknown=Unknown error
ErrorSQL=SQL грешка ErrorSQL=SQL грешка
ErrorLogoFileNotFound=Файла '%s' с логото не е открит ErrorLogoFileNotFound=Файла '%s' с логото не е открит
ErrorGoToGlobalSetup=Отидете на настройките 'Фирма/Организация' за да настроите параметъра ErrorGoToGlobalSetup=Отидете на настройките 'Фирма/Организация' за да настроите параметъра
@ -60,6 +60,8 @@ ErrorNoSocialContributionForSellerCountry=Грешка, не е социален
ErrorFailedToSaveFile=Грешка, файла не е записан. ErrorFailedToSaveFile=Грешка, файла не е записан.
ErrorOnlyPngJpgSupported=Грешка, поддържат се само PNG и JPG формати на изображението. ErrorOnlyPngJpgSupported=Грешка, поддържат се само PNG и JPG формати на изображението.
ErrorImageFormatNotSupported=Вашият PHP не поддържа функции за конвертиране на изображения от този формат. ErrorImageFormatNotSupported=Вашият PHP не поддържа функции за конвертиране на изображения от този формат.
# SetDate=Set date
# SelectDate=Select a date
SeeAlso=Вижте също %s SeeAlso=Вижте също %s
BackgroundColorByDefault=Подразбиращ се цвят на фона BackgroundColorByDefault=Подразбиращ се цвят на фона
FileWasNotUploaded=Файлът е избран за прикачане, но все още не е качен. Кликнете върху &quot;Прикачи файл&quot;. FileWasNotUploaded=Файлът е избран за прикачане, но все още не е качен. Кликнете върху &quot;Прикачи файл&quot;.
@ -667,6 +669,7 @@ OriginFileName=Оригинално име на файла
# SetDemandReason=Set source # SetDemandReason=Set source
# ViewPrivateNote=View notes # ViewPrivateNote=View notes
# XMoreLines=%s line(s) hidden # XMoreLines=%s line(s) hidden
# PublicUrl=Public URL
# Week day # Week day
Monday=Понеделник Monday=Понеделник

View File

@ -1,18 +1,18 @@
# Dolibarr language file - Source file is en_US - opensurvey # Dolibarr language file - Source file is en_US - opensurvey
Survey=Проучване # Survey=Poll
Surveys=Проучвания # Surveys=Polls
OrganizeYourMeetingEasily=Организиране на вашите срещи и проучвания лесно. Първо изберете типа на проучване ... # OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll...
NewSurvey=Ново проучване # NewSurvey=New poll
NoSurveysInDatabase=Има %s проучване(ия) в базата данни. # NoSurveysInDatabase=%s poll(s) into database.
OpenSurveyArea=Проучвания # OpenSurveyArea=Polls area
AddACommentForPoll=Можете да добавите коментар на проучването ... # AddACommentForPoll=You can add a comment into poll...
AddComment=Добавяне на коментар AddComment=Добавяне на коментар
CreatePoll=Създаване на анкета CreatePoll=Създаване на анкета
PollTitle=Тема на анкетата PollTitle=Тема на анкетата
ToReceiveEMailForEachVote=Получаване на е-маил за всеки глас # ToReceiveEMailForEachVote=Receive an email for each vote
TypeDate=Дата TypeDate=Дата
TypeClassic=Стандартно TypeClassic=Стандартно
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it # OpenSurveyStep2=Select your dates amoung the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it
RemoveAllDays=Премахване на всички дни RemoveAllDays=Премахване на всички дни
CopyHoursOfFirstDay=Копиране на часовете от първия ден CopyHoursOfFirstDay=Копиране на часовете от първия ден
RemoveAllHours=Премахване на всички часове RemoveAllHours=Премахване на всички часове
@ -24,10 +24,10 @@ with=с
CommentsOfVoters=Коментари на гласувалите CommentsOfVoters=Коментари на гласувалите
ConfirmRemovalOfPoll=Сигурни ли сте, че желаете да премахнете анкетата (и всички гласове) ConfirmRemovalOfPoll=Сигурни ли сте, че желаете да премахнете анкетата (и всички гласове)
RemovePoll=Премахване на анкета RemovePoll=Премахване на анкета
UrlForSurvey=URL за директен достъп до проучването # UrlForSurvey=URL to communicate to get a direct access to poll
# PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: # PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll:
CreateSurveyDate=Създаване на проучване със срок # CreateSurveyDate=Create a date poll
CreateSurveyStandard=Създаване на стандартно проучване # CreateSurveyStandard=Create a standard poll
CheckBox=Отметка CheckBox=Отметка
YesNoList=Списък (празно/да/не) YesNoList=Списък (празно/да/не)
PourContreList=Списък (празно/за/против) PourContreList=Списък (празно/за/против)
@ -35,7 +35,7 @@ AddNewColumn=Добавяне на нова колона
TitleChoice=Избор на етикет TitleChoice=Избор на етикет
# ExportSpreadsheet=Export result spreadsheet # ExportSpreadsheet=Export result spreadsheet
ExpireDate=Крайната дата ExpireDate=Крайната дата
# NbOfSurveys=Number of surveys # NbOfSurveys=Number of polls
NbOfVoters=Брой гласове NbOfVoters=Брой гласове
SurveyResults=Резултати SurveyResults=Резултати
# PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s.

View File

@ -22,6 +22,7 @@ Notify_WITHDRAW_CREDIT=Оттегляне на кредитирането
Notify_WITHDRAW_EMIT=Извършване на оттегляне Notify_WITHDRAW_EMIT=Извършване на оттегляне
Notify_ORDER_SENTBYMAIL=Поръчка на клиента, изпратено по пощата Notify_ORDER_SENTBYMAIL=Поръчка на клиента, изпратено по пощата
Notify_COMPANY_CREATE=Третата страна е създадена Notify_COMPANY_CREATE=Третата страна е създадена
# Notify_COMPANY_COMPANY_SENTBYMAIL=Mails sent from third party card
Notify_PROPAL_SENTBYMAIL=Търговско предложение, изпратено по пощата Notify_PROPAL_SENTBYMAIL=Търговско предложение, изпратено по пощата
Notify_ORDER_SENTBYMAIL=Поръчка на клиента, изпратено по пощата Notify_ORDER_SENTBYMAIL=Поръчка на клиента, изпратено по пощата
Notify_BILL_PAYED=Фактурата на клиента е платена Notify_BILL_PAYED=Фактурата на клиента е платена
@ -40,6 +41,7 @@ Notify_MEMBER_VALIDATE=Члена е приет
Notify_MEMBER_SUBSCRIPTION=Члена е subscribed Notify_MEMBER_SUBSCRIPTION=Члена е subscribed
Notify_MEMBER_RESILIATE=Члена е изключен Notify_MEMBER_RESILIATE=Члена е изключен
Notify_MEMBER_DELETE=Члена е изтрит Notify_MEMBER_DELETE=Члена е изтрит
# Notify_PROJECT_CREATE=Project creation
NbOfAttachedFiles=Брой на прикачените файлове/документи NbOfAttachedFiles=Брой на прикачените файлове/документи
TotalSizeOfAttachedFiles=Общ размер на прикачените файлове/документи TotalSizeOfAttachedFiles=Общ размер на прикачените файлове/документи
MaxSize=Максимален размер MaxSize=Максимален размер

View File

@ -168,7 +168,7 @@ CloneProduct=Клониране на продукт или услуга
ConfirmCloneProduct=Сигурни ли сте, че желаете да клонирате продукта или услугата <b>%s?</b>? ConfirmCloneProduct=Сигурни ли сте, че желаете да клонирате продукта или услугата <b>%s?</b>?
CloneContentProduct=Клониране на всички основни данни за продукта/услугата CloneContentProduct=Клониране на всички основни данни за продукта/услугата
ClonePricesProduct=Клониране на основните данни и цени ClonePricesProduct=Клониране на основните данни и цени
# CloneCompositionProduct=Clone product/service composition # CloneCompositionProduct=Clone virtual product/services
ProductIsUsed=Този продукт е използван ProductIsUsed=Този продукт е използван
NewRefForClone=Реф. на нов продукт/услуга NewRefForClone=Реф. на нов продукт/услуга
CustomerPrices=Цени за клиенти CustomerPrices=Цени за клиенти

View File

@ -33,9 +33,9 @@ TimesSpent=Времето, прекарано
RefTask=Реф. задача RefTask=Реф. задача
LabelTask=Label задача LabelTask=Label задача
# TaskTimeSpent=Time spent on tasks # TaskTimeSpent=Time spent on tasks
# TaskTimeUser=Task time user # TaskTimeUser=User
# TaskTimeNote=Task time note # TaskTimeNote=Note
# TaskTimeDate=Task time date # TaskTimeDate=Date
NewTimeSpent=Времето, прекарано на NewTimeSpent=Времето, прекарано на
MyTimeSpent=Времето, прекарано MyTimeSpent=Времето, прекарано
MyTasks=Моите задачи MyTasks=Моите задачи

View File

@ -0,0 +1,6 @@
# Dolibarr language file - Source file is en_US - users
# Employee=Employee
# NewSalaryPayment=New salary payment
# SalaryPayment=Salary payment
# SalariesPayments=Salaries payments
# ShowSalaryPayment=Show salary payment

View File

@ -512,8 +512,8 @@ Module6000Desc=Upravljanje workflow-om - tokom rada
# Module50200Desc= Module to offer an online payment page by credit card with Paypal # Module50200Desc= Module to offer an online payment page by credit card with Paypal
Module54000Name=PrintIPP Module54000Name=PrintIPP
Module54000Desc=Print preko Cups IPP Printer. Module54000Desc=Print preko Cups IPP Printer.
Module55000Name=Otvoriti anketu # Module55000Name=Open Poll
Module55000Desc=Modul za kreiranje online anketa (kao Doodle, Studs, Rdvz, ...) # Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
# Module59000Name=Margins # Module59000Name=Margins
# Module59000Desc=Module to manage margins # Module59000Desc=Module to manage margins
# Module60000Name=Commissions # Module60000Name=Commissions
@ -732,8 +732,8 @@ Permission2515=Postavke direktorija za dokumente
# Permission50201=Read transactions # Permission50201=Read transactions
# Permission50202=Import transactions # Permission50202=Import transactions
Permission54001=Print Permission54001=Print
Permission55001=Pročitajte ankete # Permission55001=Read polls
Permission55002=Napravi/izmijeni ankete # Permission55002=Create/modify polls
Permission59001=Pročitajte komercijalne margine Permission59001=Pročitajte komercijalne margine
Permission59002=Definirajte komercijalne margine Permission59002=Definirajte komercijalne margine
# DictionaryCompanyType=Thirdparties type # DictionaryCompanyType=Thirdparties type

View File

@ -28,6 +28,9 @@ InvoiceReplacementAsk=Zamjenska faktura za fakturu
# InvoiceAvoir=Credit note # InvoiceAvoir=Credit note
# InvoiceAvoirAsk=Credit note to correct invoice # InvoiceAvoirAsk=Credit note to correct invoice
# InvoiceAvoirDesc=The <b>credit note</b> is a negative invoice used to solve fact that an invoice has an amount that differs than amount really paid (because customer paid too much by error, or will not paid completely since he returned some products for example). # InvoiceAvoirDesc=The <b>credit note</b> is a negative invoice used to solve fact that an invoice has an amount that differs than amount really paid (because customer paid too much by error, or will not paid completely since he returned some products for example).
# invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
# invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
# invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
ReplaceInvoice=Zamijeni fakturu %s ReplaceInvoice=Zamijeni fakturu %s
ReplacementInvoice=Zamjenska faktura ReplacementInvoice=Zamjenska faktura
ReplacedByInvoice=Zamijenjeno sa fakturom %s ReplacedByInvoice=Zamijenjeno sa fakturom %s
@ -222,8 +225,6 @@ CustomerBillsUnpaid=NEplaćene fakture kupaca
NonPercuRecuperable=Nepovratno NonPercuRecuperable=Nepovratno
SetConditions=Postaviti uslova plaćanja SetConditions=Postaviti uslova plaćanja
SetMode=Postaviti način plaćanja SetMode=Postaviti način plaćanja
SetDate= Postavi datum
SelectDate=Odaberi datum
Billed=Fakturisano Billed=Fakturisano
RepeatableInvoice=Predefinisana faktura RepeatableInvoice=Predefinisana faktura
RepeatableInvoices=Predefinisane fakture RepeatableInvoices=Predefinisane fakture

View File

@ -66,7 +66,7 @@ ReturnInSupplier=Nazad na karticu dobavljača
ContentsVisibleByAll=Sadržaj će biti vidljiv svima ContentsVisibleByAll=Sadržaj će biti vidljiv svima
ContentsVisibleByAllShort=Sadržaj vidljiv svima ContentsVisibleByAllShort=Sadržaj vidljiv svima
ContentsNotVisibleByAllShort=Sadržaj nije vidljiv svima ContentsNotVisibleByAllShort=Sadržaj nije vidljiv svima
CategoriesTree=Stablo kategorija # CategoriesTree=Categories tree
DeleteCategory=Obriši kategoriju DeleteCategory=Obriši kategoriju
ConfirmDeleteCategory=Jeste li sigurni da želite obrisati ovu kategoriju? ConfirmDeleteCategory=Jeste li sigurni da želite obrisati ovu kategoriju?
RemoveFromCategory=Uklonite vezu sa kategorijom RemoveFromCategory=Uklonite vezu sa kategorijom
@ -105,3 +105,9 @@ CatProdLinks=Veze između proizvoda/usluga i kategorija
# CatCusLinks=Links between customers/prospects and categories # CatCusLinks=Links between customers/prospects and categories
CatSupLinks=Veze između dobavljača i kategorija CatSupLinks=Veze između dobavljača i kategorija
DeleteFromCat=Ukloni iz kategorije DeleteFromCat=Ukloni iz kategorije
# DeletePicture=Picture delete
# ConfirmDeletePicture=Confirm picture deletion?
# ExtraFieldsCategories=Complementary attributes
# CategoriesSetup=Categories setup
# CategorieRecursiv=Link with parent category automatically
# CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory

View File

@ -403,7 +403,6 @@ ProductsIntoElements=Lista informacija o proizvodu
CurrentOutstandingBill=Trenutni neplaćeni račun CurrentOutstandingBill=Trenutni neplaćeni račun
OutstandingBill=Max. za neplaćeni račun OutstandingBill=Max. za neplaćeni račun
OutstandingBillReached=Dostugnut je max. za neplaćeni račun OutstandingBillReached=Dostugnut je max. za neplaćeni račun
# Monkey
MonkeyNumRefModelDesc=Vratiti broj sa formatom %syymm-nnnn za šifru kupca i $syymm-nnnn za šifru dobavljača gdje je yy godina, mm mjesec i nnnn niz bez prekida i bez vraćanja za 0. MonkeyNumRefModelDesc=Vratiti broj sa formatom %syymm-nnnn za šifru kupca i $syymm-nnnn za šifru dobavljača gdje je yy godina, mm mjesec i nnnn niz bez prekida i bez vraćanja za 0.
# Leopard
LeopardNumRefModelDesc=Ova šifra je slobodna. Ova šifra se može mijenjati bilo kad. LeopardNumRefModelDesc=Ova šifra je slobodna. Ova šifra se može mijenjati bilo kad.
# ManagingDirectors=Manager(s) name (CEO, director, president...)

View File

@ -41,16 +41,20 @@ Accounts=Računi
# VATSummary=VAT Balance # VATSummary=VAT Balance
# LT2SummaryES=IRPF Balance # LT2SummaryES=IRPF Balance
# VATPaid=VAT paid # VATPaid=VAT paid
# SalaryPaid=Salary paid
# LT2PaidES=IRPF Paid # LT2PaidES=IRPF Paid
# LT2CustomerES=IRPF sales # LT2CustomerES=IRPF sales
# LT2SupplierES=IRPF purchases # LT2SupplierES=IRPF purchases
# VATCollected=VAT collected # VATCollected=VAT collected
# ToPay=To pay # ToPay=To pay
# ToGet=To get back # ToGet=To get back
# SpecialExpensesArea=Area for all special paiements
# TaxAndDividendsArea=Tax, social contributions and dividends area # TaxAndDividendsArea=Tax, social contributions and dividends area
# SocialContribution=Social contribution # SocialContribution=Social contribution
# SocialContributions=Social contributions # SocialContributions=Social contributions
# MenuSpecialExpenses=Special expenses
# MenuTaxAndDividends=Taxes and dividends # MenuTaxAndDividends=Taxes and dividends
# MenuSalaries=Salaries
# MenuSocialContributions=Social contributions # MenuSocialContributions=Social contributions
# MenuNewSocialContribution=New contribution # MenuNewSocialContribution=New contribution
# NewSocialContribution=New social contribution # NewSocialContribution=New social contribution
@ -63,11 +67,14 @@ Accounts=Računi
# PaymentSupplierInvoice=Supplier invoice payment # PaymentSupplierInvoice=Supplier invoice payment
# PaymentSocialContribution=Social contribution payment # PaymentSocialContribution=Social contribution payment
# PaymentVat=VAT payment # PaymentVat=VAT payment
# PaymentSalary=Salary payment
# ListPayment=List of payments # ListPayment=List of payments
# ListOfPayments=List of payments # ListOfPayments=List of payments
# ListOfCustomerPayments=List of customer payments # ListOfCustomerPayments=List of customer payments
# ListOfSupplierPayments=List of supplier payments # ListOfSupplierPayments=List of supplier payments
# DatePayment=Payment date # DatePayment=Payment date
# DateStartPeriod=Date start period
# DateEndPeriod=Date end period
# NewVATPayment=New VAT payment # NewVATPayment=New VAT payment
# newLT2PaymentES=New IRPF payment # newLT2PaymentES=New IRPF payment
# LT2PaymentES=IRPF Payment # LT2PaymentES=IRPF Payment

View File

@ -23,3 +23,4 @@ GoodStatusDeclaration=Primio sam robu navedenu gore u dobrom stanju.
Deliverer=Dostavljač: Deliverer=Dostavljač:
Sender=Pošiljalac Sender=Pošiljalac
Recipient=Primalac Recipient=Primalac
# ErrorStockIsNotEnough=There's not enough stock

View File

@ -125,7 +125,7 @@
# BankAccountNumberKey=Key # BankAccountNumberKey=Key
# SpecialCode=Special code # SpecialCode=Special code
# ExportStringFilter=%% allows replacing one or more characters in the text # ExportStringFilter=%% allows replacing one or more characters in the text
# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day<br>'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the following years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the previous years/months/days # ExportDateFilter='YYYY' 'YYYYMM' 'YYYYMMDD': filters by one year/month/day<br>'YYYY+YYYY' 'YYYYMM+YYYYMM' 'YYYYMMDD+YYYYMMDD': filters over a range of years/months/days<br>'&gt;YYYY' '&gt;YYYYMM' '&gt;YYYYMMDD': filters on the following years/months/days<br>'&lt;YYYY' '&lt;YYYYMM' '&lt;YYYYMMDD': filters on the previous years/months/days
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values # ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values
## filters ## filters
# SelectFilterFields=If you want to filter on some values, just input values here. # SelectFilterFields=If you want to filter on some values, just input values here.

View File

@ -80,12 +80,12 @@ ActivateCheckRead=Dozvoli korištenje "Ispiši se" linka
ActivateCheckReadKey=Kljul korišten za enkriptovanje linka koristi se za "Pročitaj potvrdu" i "Ispiši se" mogućnosti ActivateCheckReadKey=Kljul korišten za enkriptovanje linka koristi se za "Pročitaj potvrdu" i "Ispiši se" mogućnosti
EMailSentToNRecipients=E-pošta poslana %s primaocima EMailSentToNRecipients=E-pošta poslana %s primaocima
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. # EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email.
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) # MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s)
# SendRemind=Send remind by EMails # SendRemind=Send reminder by EMails
# RemindSent=%S remind(s) sent # RemindSent=%s reminder(s) sent
# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) # AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent)
# NoRemindSent=No remind by EMail sent # NoRemindSent=No EMail reminder sent
# ResultOfMassSending=Result of mass remind sending by EMail # ResultOfMassSending=Result of mass EMail reminders sending
# Libelle des modules de liste de destinataires mailing # Libelle des modules de liste de destinataires mailing
MailingModuleDescContactCompanies=Kontakti/Adrese za subjekte (kupac, mogući klijent, dobavljač, ...) MailingModuleDescContactCompanies=Kontakti/Adrese za subjekte (kupac, mogući klijent, dobavljač, ...)

View File

@ -34,7 +34,7 @@ SeparatorThousand=None
# ErrorCanNotCreateDir=Can not create dir %s # ErrorCanNotCreateDir=Can not create dir %s
# ErrorCanNotReadDir=Can not read dir %s # ErrorCanNotReadDir=Can not read dir %s
# ErrorConstantNotDefined=Parameter %s not defined # ErrorConstantNotDefined=Parameter %s not defined
# ErrorUnknown=Unkown error # ErrorUnknown=Unknown error
# ErrorSQL=SQL Error # ErrorSQL=SQL Error
# ErrorLogoFileNotFound=Logo file '%s' was not found # ErrorLogoFileNotFound=Logo file '%s' was not found
# ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this # ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this
@ -60,6 +60,8 @@ SeparatorThousand=None
# ErrorFailedToSaveFile=Error, failed to save file. # ErrorFailedToSaveFile=Error, failed to save file.
# ErrorOnlyPngJpgSupported=Error, only .png and .jpg image format file are supported. # ErrorOnlyPngJpgSupported=Error, only .png and .jpg image format file are supported.
# ErrorImageFormatNotSupported=Your PHP does not support functions to convert images of this format. # ErrorImageFormatNotSupported=Your PHP does not support functions to convert images of this format.
# SetDate=Set date
# SelectDate=Select a date
# SeeAlso=See also %s # SeeAlso=See also %s
# BackgroundColorByDefault=Default background color # BackgroundColorByDefault=Default background color
# FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. # FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this.
@ -667,6 +669,7 @@ CommercialProposalsShort=Poslovni prijedlozi
# SetDemandReason=Set source # SetDemandReason=Set source
# ViewPrivateNote=View notes # ViewPrivateNote=View notes
# XMoreLines=%s line(s) hidden # XMoreLines=%s line(s) hidden
# PublicUrl=Public URL
# Week day # Week day
# Monday=Monday # Monday=Monday

View File

@ -1,18 +1,18 @@
# Dolibarr language file - Source file is en_US - opensurvey # Dolibarr language file - Source file is en_US - opensurvey
# Survey=Survey # Survey=Poll
# Surveys=Surveys # Surveys=Polls
# OrganizeYourMeetingEasily=Organize your meetings and surveys easily. First select type of survey... # OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll...
# NewSurvey=New survey # NewSurvey=New poll
# NoSurveysInDatabase=%s survey(s) into database. # NoSurveysInDatabase=%s poll(s) into database.
# OpenSurveyArea=Surveys area # OpenSurveyArea=Polls area
# AddACommentForPoll=You can add a comment into survey... # AddACommentForPoll=You can add a comment into poll...
# AddComment=Add comment # AddComment=Add comment
# CreatePoll=Create poll # CreatePoll=Create poll
# PollTitle=Poll title # PollTitle=Poll title
# ToReceiveEMailForEachVote=To receive an email for each vote # ToReceiveEMailForEachVote=Receive an email for each vote
# TypeDate=Type date # TypeDate=Type date
# TypeClassic=Type standard # TypeClassic=Type standard
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it # OpenSurveyStep2=Select your dates amoung the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days # RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day # CopyHoursOfFirstDay=Copy hours of first day
# RemoveAllHours=Remove all hours # RemoveAllHours=Remove all hours
@ -24,10 +24,10 @@
# CommentsOfVoters=Comments of voters # CommentsOfVoters=Comments of voters
# ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes) # ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes)
# RemovePoll=Remove poll # RemovePoll=Remove poll
# UrlForSurvey=URL to communicate to get a direct access to survey # UrlForSurvey=URL to communicate to get a direct access to poll
# PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: # PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll:
# CreateSurveyDate=Create a date survey # CreateSurveyDate=Create a date poll
# CreateSurveyStandard=Create a standard survey # CreateSurveyStandard=Create a standard poll
# CheckBox=Simple checkbox # CheckBox=Simple checkbox
# YesNoList=List (empty/yes/no) # YesNoList=List (empty/yes/no)
# PourContreList=List (empty/for/against) # PourContreList=List (empty/for/against)
@ -35,7 +35,7 @@
# TitleChoice=Choice label # TitleChoice=Choice label
# ExportSpreadsheet=Export result spreadsheet # ExportSpreadsheet=Export result spreadsheet
# ExpireDate=Limit date # ExpireDate=Limit date
# NbOfSurveys=Number of surveys # NbOfSurveys=Number of polls
# NbOfVoters=Nb of voters # NbOfVoters=Nb of voters
# SurveyResults=Results # SurveyResults=Results
# PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s.

View File

@ -22,6 +22,7 @@
# Notify_WITHDRAW_EMIT=Perform withdrawal # Notify_WITHDRAW_EMIT=Perform withdrawal
# Notify_ORDER_SENTBYMAIL=Customer order sent by mail # Notify_ORDER_SENTBYMAIL=Customer order sent by mail
# Notify_COMPANY_CREATE=Third party created # Notify_COMPANY_CREATE=Third party created
# Notify_COMPANY_COMPANY_SENTBYMAIL=Mails sent from third party card
# Notify_PROPAL_SENTBYMAIL=Commercial proposal sent by mail # Notify_PROPAL_SENTBYMAIL=Commercial proposal sent by mail
# Notify_ORDER_SENTBYMAIL=Customer order sent by mail # Notify_ORDER_SENTBYMAIL=Customer order sent by mail
# Notify_BILL_PAYED=Customer invoice payed # Notify_BILL_PAYED=Customer invoice payed
@ -40,6 +41,7 @@
# Notify_MEMBER_SUBSCRIPTION=Member subscribed # Notify_MEMBER_SUBSCRIPTION=Member subscribed
# Notify_MEMBER_RESILIATE=Member resiliated # Notify_MEMBER_RESILIATE=Member resiliated
# Notify_MEMBER_DELETE=Member deleted # Notify_MEMBER_DELETE=Member deleted
# Notify_PROJECT_CREATE=Project creation
# NbOfAttachedFiles=Number of attached files/documents # NbOfAttachedFiles=Number of attached files/documents
# TotalSizeOfAttachedFiles=Total size of attached files/documents # TotalSizeOfAttachedFiles=Total size of attached files/documents
# MaxSize=Maximum size # MaxSize=Maximum size

View File

@ -1,36 +1,36 @@
# Dolibarr language file - Source file is en_US - products # Dolibarr language file - Source file is en_US - products
# ProductRef=Product ref. ProductRef=Ref. proizvoda
# ProductLabel=Product label ProductLabel=Oznaka proizvoda
# ProductServiceCard=Products/Services card ProductServiceCard=Kartica proizvoda/usluge
# Products=Products Products=Proizvodi
# Services=Services Services=Usluge
# Product=Product Product=Proizvod
# Service=Service Service=Usluga
# ProductId=Product/service id ProductId=ID proizvoda/usluge
# Create=Create Create=Kreiraj
# Reference=Reference Reference=Referenca
# NewProduct=New product NewProduct=Novi proizvod
# NewService=New service NewService=Nova usluga
# ProductCode=Product code ProductCode=Šifra proizvoda
# ServiceCode=Service code ServiceCode=Šifra usluge
# ProductVatMassChange=Mass VAT change # ProductVatMassChange=Mass VAT change
# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database.
# MassBarcodeInit=Mass barcode init # MassBarcodeInit=Mass barcode init
# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete.
# ProductAccountancyBuyCode=Accountancy code (buy) ProductAccountancyBuyCode=Šifra računovodstva (kupovanje)
# ProductAccountancySellCode=Accountancy code (sell) ProductAccountancySellCode=Šifra računovodstva (prodaja)
# ProductOrService=Product or Service ProductOrService=Proizvod ili usluga
# ProductsAndServices=Products and Services ProductsAndServices=Proizvodi i usluge
# ProductsOrServices=Products or Services ProductsOrServices=Proizvodi ili usluge
# ProductsAndServicesOnSell=Available Products and Services ProductsAndServicesOnSell=Dostupni proizvodi i usluge
# ProductsAndServicesNotOnSell=Obsolete Products and Services ProductsAndServicesNotOnSell=Zastarjeli proizvodi i usluge
# ProductsAndServicesStatistics=Products and Services statistics ProductsAndServicesStatistics=Statistika proizvoda i usluga
# ProductsStatistics=Products statistics ProductsStatistics=Statistika proizvoda
# ProductsOnSell=Available products ProductsOnSell=Dostupni proizvodi
# ProductsNotOnSell=Obsolete products ProductsNotOnSell=Zastarjeli proizvodi
# ServicesOnSell=Available services ServicesOnSell=Dostupne usluge
# ServicesNotOnSell=Obsolete services ServicesNotOnSell=Zastarjele usluge
# InternalRef=Internal reference InternalRef=Interna referenca
# LastRecorded=Last products/services on sell recorded # LastRecorded=Last products/services on sell recorded
# LastRecordedProductsAndServices=Last %s recorded products/services # LastRecordedProductsAndServices=Last %s recorded products/services
# LastModifiedProductsAndServices=Last %s modified products/services # LastModifiedProductsAndServices=Last %s modified products/services
@ -168,7 +168,7 @@
# ConfirmCloneProduct=Are you sure you want to clone product or service <b>%s</b> ? # ConfirmCloneProduct=Are you sure you want to clone product or service <b>%s</b> ?
# CloneContentProduct=Clone all main informations of product/service # CloneContentProduct=Clone all main informations of product/service
# ClonePricesProduct=Clone main informations and prices # ClonePricesProduct=Clone main informations and prices
# CloneCompositionProduct=Clone product/service composition # CloneCompositionProduct=Clone virtual product/services
# ProductIsUsed=This product is used # ProductIsUsed=This product is used
# NewRefForClone=Ref. of new product/service # NewRefForClone=Ref. of new product/service
# CustomerPrices=Customers prices # CustomerPrices=Customers prices

View File

@ -33,9 +33,9 @@ TimesSpent=Vrijeme provedeno
RefTask=Ref. zadatka RefTask=Ref. zadatka
LabelTask=Oznaka zadatka LabelTask=Oznaka zadatka
# TaskTimeSpent=Time spent on tasks # TaskTimeSpent=Time spent on tasks
# TaskTimeUser=Task time user # TaskTimeUser=User
# TaskTimeNote=Task time note # TaskTimeNote=Note
# TaskTimeDate=Task time date # TaskTimeDate=Date
NewTimeSpent=Nova provedeno vrijeme NewTimeSpent=Nova provedeno vrijeme
MyTimeSpent=Moje provedeno vrijeme MyTimeSpent=Moje provedeno vrijeme
MyTasks=Moji zadaci MyTasks=Moji zadaci

View File

@ -0,0 +1,6 @@
# Dolibarr language file - Source file is en_US - users
# Employee=Employee
# NewSalaryPayment=New salary payment
# SalaryPayment=Salary payment
# SalariesPayments=Salaries payments
# ShowSalaryPayment=Show salary payment

View File

@ -109,8 +109,8 @@ ParameterInDolibarr=Variable %s
LanguageParameter=Variable idioma %s LanguageParameter=Variable idioma %s
LanguageBrowserParameter=Variable %s LanguageBrowserParameter=Variable %s
LocalisationDolibarrParameters=Paràmetres de localització LocalisationDolibarrParameters=Paràmetres de localització
ClientTZ=Zona horària client (usuari) # ClientTZ=Client Time Zone (user)
ClientHour=Hora client (usuari) # ClientHour=Client time (user)
OSTZ=Zona horària Servidor SO OSTZ=Zona horària Servidor SO
PHPTZ=Zona horària Servidor PHP PHPTZ=Zona horària Servidor PHP
PHPServerOffsetWithGreenwich=Offset amb Greenwich (segons) PHPServerOffsetWithGreenwich=Offset amb Greenwich (segons)
@ -512,8 +512,8 @@ Module50200Name= Paypal
Module50200Desc= Mòdul per a proporcionar un pagament en línia amb targeta de crèdit mitjançant Paypal Module50200Desc= Mòdul per a proporcionar un pagament en línia amb targeta de crèdit mitjançant Paypal
# Module54000Name=PrintIPP # Module54000Name=PrintIPP
# Module54000Desc=Print via Cups IPP Printer. # Module54000Desc=Print via Cups IPP Printer.
# Module55000Name=Open Survey # Module55000Name=Open Poll
# Module55000Desc=Module to make online surveys (like Doodle, Studs, Rdvz, ...) # Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
Module59000Name=Márgenes Module59000Name=Márgenes
Module59000Desc=Mòdul per gestionar els marges de benefici Module59000Desc=Mòdul per gestionar els marges de benefici
Module60000Name=Comissions Module60000Name=Comissions
@ -732,8 +732,8 @@ Permission50101=Utilitzar TPV
Permission50201=Consultar les transaccions Permission50201=Consultar les transaccions
Permission50202=Importar les transaccions Permission50202=Importar les transaccions
# Permission54001=Print # Permission54001=Print
# Permission55001=Read surveys # Permission55001=Read polls
# Permission55002=Create/modify surveys # Permission55002=Create/modify polls
# Permission59001=Read commercial margins # Permission59001=Read commercial margins
# Permission59002=Define commercial margins # Permission59002=Define commercial margins
# DictionaryCompanyType=Thirdparties type # DictionaryCompanyType=Thirdparties type

View File

@ -28,6 +28,9 @@ InvoiceReplacementDesc=La <b>factura rectificativa</ b> serveix per a cancel·la
InvoiceAvoir=Abonament InvoiceAvoir=Abonament
InvoiceAvoirAsk=Abonament per corregir la factura InvoiceAvoirAsk=Abonament per corregir la factura
InvoiceAvoirDesc=El <b>abonament</ b> és una factura negativa destinada a compensar un import de factura que difereix de l'import realment pagat (per haver pagat de més o per devolució de productes, per exemple). InvoiceAvoirDesc=El <b>abonament</ b> és una factura negativa destinada a compensar un import de factura que difereix de l'import realment pagat (per haver pagat de més o per devolució de productes, per exemple).
# invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
# invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
# invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
ReplaceInvoice=Rectificar la factura %s ReplaceInvoice=Rectificar la factura %s
ReplacementInvoice=Rectificació factura ReplacementInvoice=Rectificació factura
ReplacedByInvoice=Rectificada per la factura %s ReplacedByInvoice=Rectificada per la factura %s
@ -222,8 +225,6 @@ DispenseMontantLettres=Les factures redactactades per processos mecànics estan
NonPercuRecuperable=No percebut recuperable NonPercuRecuperable=No percebut recuperable
SetConditions=Definir condicions de pagament SetConditions=Definir condicions de pagament
SetMode=Definir mode de pagament SetMode=Definir mode de pagament
SetDate= Definir data
SelectDate=Seleccioneu una data
Billed=Facturat Billed=Facturat
RepeatableInvoice=Factura recurrent RepeatableInvoice=Factura recurrent
RepeatableInvoices=Factures recurrents RepeatableInvoices=Factures recurrents

View File

@ -66,7 +66,7 @@ ReturnInCompany=Tornar a la fitxa client/client potencial
ContentsVisibleByAll=El contingut serà visible per tots ContentsVisibleByAll=El contingut serà visible per tots
ContentsVisibleByAllShort=Contingut visible per tots ContentsVisibleByAllShort=Contingut visible per tots
ContentsNotVisibleByAllShort=Contingut no visible per tots ContentsNotVisibleByAllShort=Contingut no visible per tots
CategoriesTree=Arbre de categories # CategoriesTree=Categories tree
DeleteCategory=Eliminar categoria DeleteCategory=Eliminar categoria
ConfirmDeleteCategory=Esteu segur de voler eliminar aquesta categoria? ConfirmDeleteCategory=Esteu segur de voler eliminar aquesta categoria?
RemoveFromCategory=Suprimir l'enllaç amb categoria RemoveFromCategory=Suprimir l'enllaç amb categoria
@ -105,3 +105,9 @@ CatProdLinks=Productes
CatCusLinks=Clients/Clients potencials CatCusLinks=Clients/Clients potencials
CatSupLinks=Proveïdors CatSupLinks=Proveïdors
DeleteFromCat=Eliminar de la categoria DeleteFromCat=Eliminar de la categoria
# DeletePicture=Picture delete
# ConfirmDeletePicture=Confirm picture deletion?
# ExtraFieldsCategories=Complementary attributes
# CategoriesSetup=Categories setup
# CategorieRecursiv=Link with parent category automatically
# CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory

View File

@ -403,7 +403,6 @@ ProductsIntoElements=Llistat de productes en %s
# CurrentOutstandingBill=Current outstanding bill # CurrentOutstandingBill=Current outstanding bill
# OutstandingBill=Max. for outstanding bill # OutstandingBill=Max. for outstanding bill
# OutstandingBillReached=Reached max. for outstanding bill # OutstandingBillReached=Reached max. for outstanding bill
# Monkey
MonkeyNumRefModelDesc=Retorna un número sota el format %syymm-nnnn per als codis de clients i %syymm-nnnn per als codis dels proveïdors, on yy és l'any, mm el mes i nnnn un comptador seqüencial sense ruptura i sense tornar a 0. MonkeyNumRefModelDesc=Retorna un número sota el format %syymm-nnnn per als codis de clients i %syymm-nnnn per als codis dels proveïdors, on yy és l'any, mm el mes i nnnn un comptador seqüencial sense ruptura i sense tornar a 0.
# Leopard
LeopardNumRefModelDesc=Codi de client/proveïdor lliure sense verificació. Pot ser modificat en qualsevol moment. LeopardNumRefModelDesc=Codi de client/proveïdor lliure sense verificació. Pot ser modificat en qualsevol moment.
# ManagingDirectors=Manager(s) name (CEO, director, president...)

View File

@ -41,16 +41,20 @@ VATToCollect=IVA compres
VATSummary=Balanç d'IVA VATSummary=Balanç d'IVA
LT2SummaryES=Balanç d'IRPF LT2SummaryES=Balanç d'IRPF
VATPaid=IVA Pagat VATPaid=IVA Pagat
# SalaryPaid=Salary paid
LT2PaidES=IRPF Pagat LT2PaidES=IRPF Pagat
LT2CustomerES=IRPF Vendes LT2CustomerES=IRPF Vendes
LT2SupplierES=IRPF compres LT2SupplierES=IRPF compres
VATCollected=IVA recuperat VATCollected=IVA recuperat
ToPay=A pagar ToPay=A pagar
ToGet=A tornar ToGet=A tornar
# SpecialExpensesArea=Area for all special paiements
TaxAndDividendsArea=Àrea impostos, càrregues socials i dividends TaxAndDividendsArea=Àrea impostos, càrregues socials i dividends
SocialContribution=Càrrega social SocialContribution=Càrrega social
SocialContributions=Càrregues socials SocialContributions=Càrregues socials
# MenuSpecialExpenses=Special expenses
MenuTaxAndDividends=Impostos i càrregues MenuTaxAndDividends=Impostos i càrregues
# MenuSalaries=Salaries
MenuSocialContributions=Càrregues socials MenuSocialContributions=Càrregues socials
MenuNewSocialContribution=Nova càrrega MenuNewSocialContribution=Nova càrrega
NewSocialContribution=Nova càrrega social NewSocialContribution=Nova càrrega social
@ -63,11 +67,14 @@ PaymentCustomerInvoice=Cobrament factura a client
PaymentSupplierInvoice=Pagament factura de proveïdor PaymentSupplierInvoice=Pagament factura de proveïdor
PaymentSocialContribution=Pagament càrrega social PaymentSocialContribution=Pagament càrrega social
PaymentVat=Pagament IVA PaymentVat=Pagament IVA
# PaymentSalary=Salary payment
ListPayment=Llistat de pagaments ListPayment=Llistat de pagaments
ListOfPayments=Llistat de pagaments ListOfPayments=Llistat de pagaments
ListOfCustomerPayments=Llistat de pagaments de clients ListOfCustomerPayments=Llistat de pagaments de clients
ListOfSupplierPayments=Llistat de pagaments a proveïdors ListOfSupplierPayments=Llistat de pagaments a proveïdors
DatePayment=Data de pagament DatePayment=Data de pagament
# DateStartPeriod=Date start period
# DateEndPeriod=Date end period
NewVATPayment=Nou pagament d'IVA NewVATPayment=Nou pagament d'IVA
newLT2PaymentES=Nou pagament d'IRPF newLT2PaymentES=Nou pagament d'IRPF
LT2PaymentES=Pagament IRPF LT2PaymentES=Pagament IRPF

View File

@ -23,3 +23,4 @@ GoodStatusDeclaration=He rebut la mercaderia en bon estat,
Deliverer=Destinatari : Deliverer=Destinatari :
Sender=Orige Sender=Orige
Recipient=Destinatari Recipient=Destinatari
# ErrorStockIsNotEnough=There's not enough stock

View File

@ -125,7 +125,7 @@ BankAccountNumber=Número compte
BankAccountNumberKey=Dígit Control BankAccountNumberKey=Dígit Control
# SpecialCode=Special code # SpecialCode=Special code
# ExportStringFilter=%% allows replacing one or more characters in the text # ExportStringFilter=%% allows replacing one or more characters in the text
# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day<br>'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the following years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the previous years/months/days # ExportDateFilter='YYYY' 'YYYYMM' 'YYYYMMDD': filters by one year/month/day<br>'YYYY+YYYY' 'YYYYMM+YYYYMM' 'YYYYMMDD+YYYYMMDD': filters over a range of years/months/days<br>'&gt;YYYY' '&gt;YYYYMM' '&gt;YYYYMMDD': filters on the following years/months/days<br>'&lt;YYYY' '&lt;YYYYMM' '&lt;YYYYMMDD': filters on the previous years/months/days
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values # ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values
## filters ## filters
SelectFilterFields=Si vol aplicar un filtre sobre alguns valors, introduïu-los aquí. SelectFilterFields=Si vol aplicar un filtre sobre alguns valors, introduïu-los aquí.

View File

@ -80,12 +80,12 @@ ActivateCheckRead=Activar confirmació de lectura i opció de Desubscripció
ActivateCheckReadKey=Clau usada per xifrar la URL de la confirmació de lectura i la funció de desubscripció ActivateCheckReadKey=Clau usada per xifrar la URL de la confirmació de lectura i la funció de desubscripció
EMailSentToNRecipients=E-Mail enviat a %s destinataris. EMailSentToNRecipients=E-Mail enviat a %s destinataris.
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. # EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email.
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) # MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s)
# SendRemind=Send remind by EMails # SendRemind=Send reminder by EMails
# RemindSent=%S remind(s) sent # RemindSent=%s reminder(s) sent
# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) # AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent)
# NoRemindSent=No remind by EMail sent # NoRemindSent=No EMail reminder sent
# ResultOfMassSending=Result of mass remind sending by EMail # ResultOfMassSending=Result of mass EMail reminders sending
# Libelle des modules de liste de destinataires mailing # Libelle des modules de liste de destinataires mailing
MailingModuleDescContactCompanies=Contactes de tercers (clients potencials, clients, proveïdors ...) MailingModuleDescContactCompanies=Contactes de tercers (clients potencials, clients, proveïdors ...)

View File

@ -7,7 +7,7 @@ DIRECTION=ltr
FONTFORPDF=helvetica FONTFORPDF=helvetica
FONTSIZEFORPDF=10 FONTSIZEFORPDF=10
SeparatorDecimal=, SeparatorDecimal=,
SeparatorThousand= SeparatorThousand=None
FormatDateShort=%d/%m/%Y FormatDateShort=%d/%m/%Y
FormatDateShortInput=%d/%m/%Y FormatDateShortInput=%d/%m/%Y
FormatDateShortJava=dd/MM/yyyy FormatDateShortJava=dd/MM/yyyy
@ -34,7 +34,7 @@ ErrorFailedToOpenFile=Impossible obrir el fitxer %s
ErrorCanNotCreateDir=Impossible crear la carpeta %s ErrorCanNotCreateDir=Impossible crear la carpeta %s
ErrorCanNotReadDir=Impossible llegir la carpeta %s ErrorCanNotReadDir=Impossible llegir la carpeta %s
ErrorConstantNotDefined=Parámetre %s no definit ErrorConstantNotDefined=Parámetre %s no definit
ErrorUnknown=Error desconegut # ErrorUnknown=Unknown error
ErrorSQL=Error de SQL ErrorSQL=Error de SQL
ErrorLogoFileNotFound=El arxiu logo '%s' no es troba ErrorLogoFileNotFound=El arxiu logo '%s' no es troba
ErrorGoToGlobalSetup=Aneu a la Configuració 'Empresa/Institució' per corregir ErrorGoToGlobalSetup=Aneu a la Configuració 'Empresa/Institució' per corregir
@ -60,6 +60,8 @@ ErrorNoSocialContributionForSellerCountry=Error, cap tipus de càrrega social de
ErrorFailedToSaveFile=Error, el registre del fitxer ha fallat. ErrorFailedToSaveFile=Error, el registre del fitxer ha fallat.
ErrorOnlyPngJpgSupported=Error, només estan suportats els formats d'imatge jpg i png. ErrorOnlyPngJpgSupported=Error, només estan suportats els formats d'imatge jpg i png.
ErrorImageFormatNotSupported=El seu PHP no suporta les funcions de conversió d'aquest format d'imatge. ErrorImageFormatNotSupported=El seu PHP no suporta les funcions de conversió d'aquest format d'imatge.
# SetDate=Set date
# SelectDate=Select a date
SeeAlso=Veure també %s SeeAlso=Veure també %s
BackgroundColorByDefault=Color de fons BackgroundColorByDefault=Color de fons
FileWasNotUploaded=Un arxiu ha estat seleccionat per adjuntar, però encara no ha estat pujat. Feu clic a "Adjuntar aquest arxiu" per a això. FileWasNotUploaded=Un arxiu ha estat seleccionat per adjuntar, però encara no ha estat pujat. Feu clic a "Adjuntar aquest arxiu" per a això.
@ -667,6 +669,7 @@ toward=cap a
# SetDemandReason=Set source # SetDemandReason=Set source
# ViewPrivateNote=View notes # ViewPrivateNote=View notes
# XMoreLines=%s line(s) hidden # XMoreLines=%s line(s) hidden
# PublicUrl=Public URL
# Week day # Week day
Monday=Dilluns Monday=Dilluns

View File

@ -1,18 +1,18 @@
# Dolibarr language file - Source file is en_US - opensurvey # Dolibarr language file - Source file is en_US - opensurvey
Survey=Enquesta # Survey=Poll
Surveys=Enquestes # Surveys=Polls
OrganizeYourMeetingEasily=Organitzi les seves reunions i enquestes de forma fàcil. Primer, seleccioneu el tipus d'enquesta ... # OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll...
NewSurvey=Nova enquesta # NewSurvey=New poll
NoSurveysInDatabase=%s enquesta(es) a la base de dades. # NoSurveysInDatabase=%s poll(s) into database.
OpenSurveyArea=Àrea d'enquestes # OpenSurveyArea=Polls area
AddACommentForPoll=Podeu afegir un comentari a l'enquesta... # AddACommentForPoll=You can add a comment into poll...
AddComment=Afegir comentari AddComment=Afegir comentari
CreatePoll=Crear enquesta CreatePoll=Crear enquesta
PollTitle=Títol de l'enquesta PollTitle=Títol de l'enquesta
ToReceiveEMailForEachVote=Per rebre un email per cada vot # ToReceiveEMailForEachVote=Receive an email for each vote
TypeDate=Tipus de data TypeDate=Tipus de data
TypeClassic=Tipus estándar TypeClassic=Tipus estándar
OpenSurveyStep2=Seleccioneu les dates entre els dies lliures (verds). Els dies seleccionats són de color blau. Pot seleccionar un dia prèviament seleccionat fent clic de nou en ell # OpenSurveyStep2=Select your dates amoung the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it
RemoveAllDays=Eliminar tots els dies RemoveAllDays=Eliminar tots els dies
CopyHoursOfFirstDay=Copia hores del primer dia CopyHoursOfFirstDay=Copia hores del primer dia
RemoveAllHours=Eliminar totes les hores RemoveAllHours=Eliminar totes les hores
@ -24,10 +24,10 @@ with=amb
CommentsOfVoters=Comentaris dels votants CommentsOfVoters=Comentaris dels votants
ConfirmRemovalOfPoll=Està segur que desitja eliminar aquesta enquesta (i tots els vots) ConfirmRemovalOfPoll=Està segur que desitja eliminar aquesta enquesta (i tots els vots)
RemovePoll=Eliminar enquesta RemovePoll=Eliminar enquesta
UrlForSurvey=URL per tenir accés directe a l'enquesta # UrlForSurvey=URL to communicate to get a direct access to poll
# PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: # PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll:
CreateSurveyDate=Crear una enquesta # CreateSurveyDate=Create a date poll
CreateSurveyStandard=Crear una enquesta estàndard # CreateSurveyStandard=Create a standard poll
CheckBox=Checkbox simple CheckBox=Checkbox simple
YesNoList=Llista (buit/sí/no) YesNoList=Llista (buit/sí/no)
PourContreList=Llista (buit/a favor/en contra) PourContreList=Llista (buit/a favor/en contra)
@ -35,7 +35,7 @@ AddNewColumn=Afegir nova columna
TitleChoice=Títol de l'opció TitleChoice=Títol de l'opció
ExportSpreadsheet=Exportar resultats a un full de càlcul ExportSpreadsheet=Exportar resultats a un full de càlcul
ExpireDate=Data límit ExpireDate=Data límit
# NbOfSurveys=Number of surveys # NbOfSurveys=Number of polls
NbOfVoters=Núm. de votants NbOfVoters=Núm. de votants
SurveyResults=Resultats SurveyResults=Resultats
PollAdminDesc=Està autoritzat per canviar totes les línies de l'enquesta amb el botó "Editar". Pot, també, eliminar una columna o una línia amb %s. També podeu afegir una nova columna amb %s. PollAdminDesc=Està autoritzat per canviar totes les línies de l'enquesta amb el botó "Editar". Pot, també, eliminar una columna o una línia amb %s. També podeu afegir una nova columna amb %s.

View File

@ -22,6 +22,7 @@ Notify_WITHDRAW_CREDIT=Abonament domiciliació
Notify_WITHDRAW_EMIT=Emissió domiciliació Notify_WITHDRAW_EMIT=Emissió domiciliació
Notify_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail Notify_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail
Notify_COMPANY_CREATE=Creació tercer Notify_COMPANY_CREATE=Creació tercer
# Notify_COMPANY_COMPANY_SENTBYMAIL=Mails sent from third party card
Notify_PROPAL_SENTBYMAIL=Enviament pressupost per e-mail Notify_PROPAL_SENTBYMAIL=Enviament pressupost per e-mail
Notify_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail Notify_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail
Notify_BILL_PAYED=Cobrament factura a client Notify_BILL_PAYED=Cobrament factura a client
@ -40,6 +41,7 @@ Notify_MEMBER_VALIDATE=Validació membre
Notify_MEMBER_SUBSCRIPTION=Afiliació membre Notify_MEMBER_SUBSCRIPTION=Afiliació membre
Notify_MEMBER_RESILIATE=Baixa membre Notify_MEMBER_RESILIATE=Baixa membre
Notify_MEMBER_DELETE=Eliminació membre Notify_MEMBER_DELETE=Eliminació membre
# Notify_PROJECT_CREATE=Project creation
NbOfAttachedFiles=Número arxius/documents adjunts NbOfAttachedFiles=Número arxius/documents adjunts
TotalSizeOfAttachedFiles=Mida total dels arxius/documents adjunts TotalSizeOfAttachedFiles=Mida total dels arxius/documents adjunts
MaxSize=Tamany màxim MaxSize=Tamany màxim

View File

@ -168,7 +168,7 @@ CloneProduct=Clonar producte/servei
ConfirmCloneProduct=Esteu segur de voler clonar el producte o servei <b>%s</b> ? ConfirmCloneProduct=Esteu segur de voler clonar el producte o servei <b>%s</b> ?
CloneContentProduct=Clonar només la informació general del producte/servei CloneContentProduct=Clonar només la informació general del producte/servei
ClonePricesProduct=Clonar la informació general i els preus ClonePricesProduct=Clonar la informació general i els preus
CloneCompositionProduct=Clonar la composició del producte/servei # CloneCompositionProduct=Clone virtual product/services
ProductIsUsed=Aquest producte és utilitzat ProductIsUsed=Aquest producte és utilitzat
NewRefForClone=Ref. del nou producte/servei NewRefForClone=Ref. del nou producte/servei
CustomerPrices=Preus clients CustomerPrices=Preus clients

View File

@ -33,9 +33,9 @@ TimesSpent=Temps dedicats
RefTask=Ref. tasca RefTask=Ref. tasca
LabelTask=Etiqueta tasca LabelTask=Etiqueta tasca
# TaskTimeSpent=Time spent on tasks # TaskTimeSpent=Time spent on tasks
# TaskTimeUser=Task time user # TaskTimeUser=User
# TaskTimeNote=Task time note # TaskTimeNote=Note
# TaskTimeDate=Task time date # TaskTimeDate=Date
NewTimeSpent=Nou temps dedicat NewTimeSpent=Nou temps dedicat
MyTimeSpent=El meu temps dedicat MyTimeSpent=El meu temps dedicat
MyTasks=Les meves tasques MyTasks=Les meves tasques

View File

@ -0,0 +1,6 @@
# Dolibarr language file - Source file is en_US - users
# Employee=Employee
# NewSalaryPayment=New salary payment
# SalaryPayment=Salary payment
# SalariesPayments=Salaries payments
# ShowSalaryPayment=Show salary payment

View File

@ -109,8 +109,8 @@ ParameterInDolibarr=Parametr %s
LanguageParameter=%s Jazykové parametrů LanguageParameter=%s Jazykové parametrů
LanguageBrowserParameter=Parametr %s LanguageBrowserParameter=Parametr %s
LocalisationDolibarrParameters=Lokalizace parametry LocalisationDolibarrParameters=Lokalizace parametry
ClientTZ=Klient Time Zone (uživatele) # ClientTZ=Client Time Zone (user)
ClientHour=Klient čas (uživatele) # ClientHour=Client time (user)
OSTZ=Servre OS Časové pásmo OSTZ=Servre OS Časové pásmo
PHPTZ=PHP serveru Časové pásmo PHPTZ=PHP serveru Časové pásmo
PHPServerOffsetWithGreenwich=PHP serveru offset šířka Greenwich (v sekundách) PHPServerOffsetWithGreenwich=PHP serveru offset šířka Greenwich (v sekundách)
@ -512,8 +512,8 @@ Module50200Name= Paypal
Module50200Desc= Modul nabídnout on-line platby kreditní kartou stránku s Paypal Module50200Desc= Modul nabídnout on-line platby kreditní kartou stránku s Paypal
Module54000Name=PrintIPP Module54000Name=PrintIPP
Module54000Desc=Tisk přes poháry tiskárny IPP. Module54000Desc=Tisk přes poháry tiskárny IPP.
Module55000Name=Otevřít Průzkum # Module55000Name=Open Poll
# Module55000Desc=Module to make online surveys (like Doodle, Studs, Rdvz, ...) # Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
Module59000Name=Okraje Module59000Name=Okraje
Module59000Desc=Modul pro správu marže Module59000Desc=Modul pro správu marže
Module60000Name=Provize Module60000Name=Provize
@ -732,8 +732,8 @@ Permission50101=Použijte místě prodeje
Permission50201=Přečtěte transakce Permission50201=Přečtěte transakce
Permission50202=Importní operace Permission50202=Importní operace
Permission54001=Vytisknout Permission54001=Vytisknout
Permission55001=Přečtěte si průzkumy # Permission55001=Read polls
Permission55002=Vytvořit / upravit průzkumy # Permission55002=Create/modify polls
# Permission59001=Read commercial margins # Permission59001=Read commercial margins
# Permission59002=Define commercial margins # Permission59002=Define commercial margins
# DictionaryCompanyType=Thirdparties type # DictionaryCompanyType=Thirdparties type

View File

@ -28,6 +28,9 @@ InvoiceReplacementDesc=<b>Náhradní faktura</b> se používá ke zrušení a na
InvoiceAvoir=Dobropis InvoiceAvoir=Dobropis
InvoiceAvoirAsk=Dobropis opravit fakturu InvoiceAvoirAsk=Dobropis opravit fakturu
InvoiceAvoirDesc=<b>Dobropis</b> je negativní faktura slouží k řešení skutečnost, že faktura je množství, které se liší než částka skutečně vyplacena (protože zákazník zaplatil příliš mnoho omylem, nebo nebude vyplacena úplně, protože on se vrátil některé produkty, například). InvoiceAvoirDesc=<b>Dobropis</b> je negativní faktura slouží k řešení skutečnost, že faktura je množství, které se liší než částka skutečně vyplacena (protože zákazník zaplatil příliš mnoho omylem, nebo nebude vyplacena úplně, protože on se vrátil některé produkty, například).
# invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
# invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
# invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
ReplaceInvoice=Vyměňte faktury %s ReplaceInvoice=Vyměňte faktury %s
ReplacementInvoice=Náhradní faktura ReplacementInvoice=Náhradní faktura
ReplacedByInvoice=Nahrazeno faktuře %s ReplacedByInvoice=Nahrazeno faktuře %s
@ -222,8 +225,6 @@ DispenseMontantLettres=Návrhem zákona o mechanografickým jsou osvobozeni od p
NonPercuRecuperable=Nevratná NonPercuRecuperable=Nevratná
SetConditions=Nastavit platební podmínky SetConditions=Nastavit platební podmínky
SetMode=Nastavit platební režim SetMode=Nastavit platební režim
SetDate= Nastavení data
SelectDate=Vyberte datum
Billed=Účtováno Billed=Účtováno
RepeatableInvoice=Přednastavená faktura RepeatableInvoice=Přednastavená faktura
RepeatableInvoices=Předdefinované faktury RepeatableInvoices=Předdefinované faktury

View File

@ -66,7 +66,7 @@ ReturnInCompany=Zpět na zákazníka / Vyhlídka karty
ContentsVisibleByAll=Obsah bude vidět všichni ContentsVisibleByAll=Obsah bude vidět všichni
ContentsVisibleByAllShort=Obsah viditelné všemi ContentsVisibleByAllShort=Obsah viditelné všemi
ContentsNotVisibleByAllShort=Obsah není vidět všichni ContentsNotVisibleByAllShort=Obsah není vidět všichni
CategoriesTree=Kategorie strom # CategoriesTree=Categories tree
DeleteCategory=Odstranit kategorii DeleteCategory=Odstranit kategorii
ConfirmDeleteCategory=Jste si jisti, že chcete smazat tuto kategorii? ConfirmDeleteCategory=Jste si jisti, že chcete smazat tuto kategorii?
RemoveFromCategory=Odstraňte spojení s kategoriích RemoveFromCategory=Odstraňte spojení s kategoriích
@ -105,3 +105,9 @@ CatProdLinks=Vazby mezi produktů / služeb a kategorií
CatCusLinks=Vazby mezi zákazníky / vyhlídky a kategorií CatCusLinks=Vazby mezi zákazníky / vyhlídky a kategorií
CatSupLinks=Vazby mezi dodavateli a kategorií CatSupLinks=Vazby mezi dodavateli a kategorií
DeleteFromCat=Odebrat z kategorie DeleteFromCat=Odebrat z kategorie
# DeletePicture=Picture delete
# ConfirmDeletePicture=Confirm picture deletion?
# ExtraFieldsCategories=Complementary attributes
# CategoriesSetup=Categories setup
# CategorieRecursiv=Link with parent category automatically
# CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory

View File

@ -403,7 +403,6 @@ ProductsIntoElements=Seznam produktů do
# CurrentOutstandingBill=Current outstanding bill # CurrentOutstandingBill=Current outstanding bill
# OutstandingBill=Max. for outstanding bill # OutstandingBill=Max. for outstanding bill
# OutstandingBillReached=Reached max. for outstanding bill # OutstandingBillReached=Reached max. for outstanding bill
# Monkey
MonkeyNumRefModelDesc=Zpět numero ve formátu %syymm-nnnn pro zákazníka kódu a %syymm-NNNN s dodavately kódu, kde yy je rok, MM je měsíc a nnnn je sekvence bez přerušení a bez návratu na 0. MonkeyNumRefModelDesc=Zpět numero ve formátu %syymm-nnnn pro zákazníka kódu a %syymm-NNNN s dodavately kódu, kde yy je rok, MM je měsíc a nnnn je sekvence bez přerušení a bez návratu na 0.
# Leopard
LeopardNumRefModelDesc=Kód je zdarma. Tento kód lze kdykoli změnit. LeopardNumRefModelDesc=Kód je zdarma. Tento kód lze kdykoli změnit.
# ManagingDirectors=Manager(s) name (CEO, director, president...)

Some files were not shown because too many files have changed in this diff Show More