Merge branch 'upstream/develop'
This commit is contained in:
commit
59128ccefb
@ -248,6 +248,12 @@ source_file = htdocs/langs/en_US/propal.lang
|
||||
source_lang = en_US
|
||||
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]
|
||||
file_filter = htdocs/langs/<lang>/sendings.lang
|
||||
source_file = htdocs/langs/en_US/sendings.lang
|
||||
|
||||
11
ChangeLog
11
ChangeLog
@ -17,8 +17,13 @@ For users:
|
||||
- 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.
|
||||
- New: Add button cancel into edition of notes.
|
||||
- New: Improved Opensurvey module and added options to disable comments and disable
|
||||
public votes.
|
||||
- New: Improved Opensurvey module:
|
||||
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: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE to add sale represnative into public
|
||||
note of generated documents.
|
||||
@ -26,7 +31,6 @@ For users:
|
||||
- New: Increase length of url into bookmark module.
|
||||
- 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: 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: 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.
|
||||
@ -36,6 +40,7 @@ For users:
|
||||
- New: Add field url as product properties.
|
||||
- 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: Add actions events not implemented
|
||||
|
||||
TODO
|
||||
- New: Predefined product and free product use same form.
|
||||
|
||||
@ -29,7 +29,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/categories.lib.php';
|
||||
if (!$user->admin)
|
||||
accessforbidden();
|
||||
|
||||
$langs->load("cateogries");
|
||||
$langs->load("categories");
|
||||
|
||||
$action=GETPOST("action");
|
||||
|
||||
@ -95,7 +95,7 @@ $form = new Form($db);
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'>';
|
||||
print '<td>'.$langs->trans("CategorieRecursiv").'</td>';
|
||||
print '<td align="center" width="20"> </td>';
|
||||
print '<td align="center" width="20">'. $form->textwithpicto('',$langs->trans("CategorieRecursivHelp"),1,'help').'</td>';
|
||||
|
||||
print '<td align="center" width="100">';
|
||||
if ($conf->use_javascript_ajax)
|
||||
|
||||
151
htdocs/categories/admin/categorie_extrafields.php
Normal file
151
htdocs/categories/admin/categorie_extrafields.php
Normal 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"> </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 " <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();
|
||||
?>
|
||||
@ -28,6 +28,7 @@
|
||||
* \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.'/fourn/class/fournisseur.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 Categorie
|
||||
class Categorie extends CommonObject
|
||||
{
|
||||
public $element='category';
|
||||
public $table_element='category';
|
||||
public $table_element='categories';
|
||||
|
||||
var $id;
|
||||
var $fk_parent;
|
||||
@ -102,6 +103,8 @@ class Categorie
|
||||
$this->visible = $res['visible'];
|
||||
$this->type = $res['type'];
|
||||
$this->entity = $res['entity'];
|
||||
|
||||
$this->fetch_optionals($this->id,$extralabels);
|
||||
|
||||
$this->db->free($resql);
|
||||
|
||||
@ -130,7 +133,7 @@ class Categorie
|
||||
*/
|
||||
function create($user='')
|
||||
{
|
||||
global $conf,$langs;
|
||||
global $conf,$langs,$hookmanager;
|
||||
$langs->load('categories');
|
||||
|
||||
$error=0;
|
||||
@ -188,6 +191,24 @@ class Categorie
|
||||
if ($id > 0)
|
||||
{
|
||||
$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
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
@ -224,7 +245,7 @@ class Categorie
|
||||
*/
|
||||
function update($user='')
|
||||
{
|
||||
global $conf, $langs;
|
||||
global $conf, $langs,$hookmanager;
|
||||
|
||||
$error=0;
|
||||
|
||||
@ -257,8 +278,28 @@ class Categorie
|
||||
dol_syslog(get_class($this)."::update sql=".$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();
|
||||
|
||||
|
||||
// Appel des triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
@ -361,6 +402,19 @@ class Categorie
|
||||
}
|
||||
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
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
|
||||
@ -26,6 +26,7 @@
|
||||
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
||||
|
||||
$langs->load("categories");
|
||||
|
||||
@ -50,7 +51,10 @@ if ($id == "")
|
||||
// Security check
|
||||
$result = restrictedArea($user, 'categorie', $id, '&category');
|
||||
|
||||
$object = new Categorie($db);
|
||||
|
||||
$extrafields = new ExtraFields($db);
|
||||
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
|
||||
/*
|
||||
* Actions
|
||||
@ -85,6 +89,8 @@ if ($action == 'update' && $user->rights->categorie->creer)
|
||||
}
|
||||
if (empty($categorie->error))
|
||||
{
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$categorie);
|
||||
|
||||
if ($categorie->update($user) > 0)
|
||||
{
|
||||
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);
|
||||
|
||||
|
||||
$object = new Categorie($db);
|
||||
$object->fetch($id);
|
||||
|
||||
$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 '</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 '<br>';
|
||||
|
||||
|
||||
@ -27,9 +27,12 @@
|
||||
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
||||
|
||||
$langs->load("categories");
|
||||
|
||||
$extrafields = new ExtraFields($db);
|
||||
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
|
||||
// Security check
|
||||
$socid=GETPOST('socid','int');
|
||||
@ -59,6 +62,7 @@ if ($origin)
|
||||
|
||||
if ($catorigin && $type == 0) $idCatOrigin = $catorigin;
|
||||
|
||||
$object = new Categorie($db);
|
||||
|
||||
/*
|
||||
* Actions
|
||||
@ -112,7 +116,7 @@ if ($action == 'add' && $user->rights->categorie->creer)
|
||||
}
|
||||
}
|
||||
|
||||
$object = new Categorie($db);
|
||||
|
||||
|
||||
$object->label = $label;
|
||||
$object->description = dol_htmlcleanlastbr($description);
|
||||
@ -121,6 +125,8 @@ if ($action == 'add' && $user->rights->categorie->creer)
|
||||
$object->type = $type;
|
||||
|
||||
if ($parent != "-1") $object->fk_parent = $parent;
|
||||
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
|
||||
if (! $object->label)
|
||||
{
|
||||
@ -238,6 +244,12 @@ if ($user->rights->categorie->creer)
|
||||
print '<tr><td>'.$langs->trans("AddIn").'</td><td>';
|
||||
print $form->select_all_categories($type, $catorigin);
|
||||
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>';
|
||||
|
||||
|
||||
@ -27,6 +27,8 @@
|
||||
require '../main.inc.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/class/extrafields.class.php';
|
||||
|
||||
|
||||
$langs->load("categories");
|
||||
|
||||
@ -49,6 +51,7 @@ $result = restrictedArea($user, 'categorie', $id, '&category');
|
||||
|
||||
$object = new Categorie($db);
|
||||
$result=$object->fetch($id);
|
||||
$object->fetch_optionals($id,$extralabels);
|
||||
if ($result <= 0)
|
||||
{
|
||||
dol_print_error($db,$object->error);
|
||||
@ -57,6 +60,8 @@ if ($result <= 0)
|
||||
|
||||
$type=$object->type;
|
||||
|
||||
$extrafields = new ExtraFields($db);
|
||||
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
|
||||
|
||||
/*
|
||||
* Actions
|
||||
@ -166,6 +171,12 @@ print $langs->trans("Description").'</td><td>';
|
||||
print nl2br($object->description);
|
||||
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 '</div>';
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@@2byte.es>
|
||||
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2011-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||
* Copyright (C) 2011-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<?php
|
||||
/* 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) 2011-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||
* Copyright (C) 2011-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -21,7 +21,7 @@
|
||||
/**
|
||||
* \file htdocs/compta/charges/index.php
|
||||
* \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';
|
||||
@ -63,9 +63,9 @@ $socialcontrib=new ChargeSociales($db);
|
||||
$payment_sc_static=new PaymentSocialContribution($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");
|
||||
|
||||
$param='';
|
||||
@ -84,259 +84,267 @@ if (GETPOST("mode") != 'sconly')
|
||||
}
|
||||
|
||||
// Payment Salary
|
||||
if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly')
|
||||
if ($conf->salaries->enabled)
|
||||
{
|
||||
$sal = new PaymentSalary($db);
|
||||
if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly')
|
||||
{
|
||||
$sal = new PaymentSalary($db);
|
||||
|
||||
print_fiche_titre($langs->trans("SalariesPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', '');
|
||||
print_fiche_titre($langs->trans("SalariesPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', '');
|
||||
|
||||
$sql = "SELECT s.rowid, s.amount, s.label, s.datev as dm";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."payment_salary as s";
|
||||
$sql.= " WHERE s.entity = ".$conf->entity;
|
||||
$sql = "SELECT s.rowid, s.amount, s.label, s.datev as dm";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."payment_salary as s";
|
||||
$sql.= " WHERE s.entity = ".$conf->entity;
|
||||
if ($year > 0)
|
||||
{
|
||||
// Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance,
|
||||
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
||||
$sql.= " AND s.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
|
||||
}
|
||||
if (preg_match('/^s/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
{
|
||||
$num = $db->num_rows($result);
|
||||
$i = 0;
|
||||
$total = 0 ;
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"s.datev","",$param,'width="120"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"s.rowid","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datev","",$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
$var=1;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($result);
|
||||
|
||||
$total = $total + $obj->amount;
|
||||
|
||||
$var=!$var;
|
||||
print "<tr ".$bc[$var].">";
|
||||
print '<td align="left">'.dol_print_date($db->jdate($obj->dm),'day').'</td>'."\n";
|
||||
|
||||
print "<td>".$obj->label."</td>\n";
|
||||
|
||||
print '<td align="right">'.price($obj->amount)."</td>";
|
||||
|
||||
// Ref payment
|
||||
$sal_static->id=$obj->rowid;
|
||||
$sal_static->ref=$obj->rowid;
|
||||
print '<td align="left">'.$sal_static->getNomUrl(1)."</td>\n";
|
||||
|
||||
print '<td align="center">'.dol_print_date($db->jdate($obj->dm),'day')."</td>\n";
|
||||
print '<td align="right">'.price($obj->amount)."</td>";
|
||||
print "</tr>\n";
|
||||
|
||||
$i++;
|
||||
}
|
||||
print '<tr class="liste_total"><td align="right" colspan="2">'.$langs->trans("Total").'</td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print "</tr>";
|
||||
|
||||
print "</table>";
|
||||
$db->free($result);
|
||||
|
||||
print "<br>";
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($conf->tax->enabled)
|
||||
{
|
||||
// Social contributions only
|
||||
if (GETPOST("mode") != 'sconly')
|
||||
{
|
||||
print_fiche_titre($langs->trans("SocialContributionsPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', '');
|
||||
}
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"cs.date_ech","",$param,'width="120"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"c.libelle","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"cs.fk_type","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"cs.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pc.rowid","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pc.datep","",$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pc.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
|
||||
$sql = "SELECT c.id, c.libelle as lib,";
|
||||
$sql.= " cs.rowid, cs.libelle, cs.fk_type as type, cs.periode, cs.date_ech, cs.amount as total,";
|
||||
$sql.= " pc.rowid as pid, pc.datep, pc.amount as totalpaye";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."chargesociales as cs";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiementcharge as pc ON pc.fk_charge = cs.rowid";
|
||||
$sql.= " WHERE cs.fk_type = c.id";
|
||||
$sql.= " AND cs.entity = ".$conf->entity;
|
||||
if ($year > 0)
|
||||
{
|
||||
$sql .= " AND (";
|
||||
// Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance,
|
||||
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
||||
$sql.= " AND s.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
|
||||
$sql .= " (cs.periode IS NOT NULL AND cs.periode between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
|
||||
$sql .= " OR (cs.periode IS NULL AND cs.date_ech between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
|
||||
$sql .= ")";
|
||||
}
|
||||
if (preg_match('/^s/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||
if (! preg_match('/^pv/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||
//$sql.= $db->plimit($limit+1,$offset);
|
||||
//print $sql;
|
||||
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
dol_syslog("compta/charges/index.php: select payment sql=".$sql);
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($result);
|
||||
$i = 0;
|
||||
$total = 0 ;
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"s.datev","",$param,'width="120"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"s.rowid","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datev","",$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
$var=1;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($result);
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
$total = 0;
|
||||
$totalnb = 0;
|
||||
$totalpaye = 0;
|
||||
$var=true;
|
||||
|
||||
$total = $total + $obj->amount;
|
||||
|
||||
$var=!$var;
|
||||
print "<tr ".$bc[$var].">";
|
||||
print '<td align="left">'.dol_print_date($db->jdate($obj->dm),'day').'</td>'."\n";
|
||||
|
||||
print "<td>".$obj->label."</td>\n";
|
||||
|
||||
print '<td align="right">'.price($obj->amount)."</td>";
|
||||
|
||||
// Ref payment
|
||||
$sal_static->id=$obj->rowid;
|
||||
$sal_static->ref=$obj->rowid;
|
||||
print '<td align="left">'.$sal_static->getNomUrl(1)."</td>\n";
|
||||
|
||||
print '<td align="center">'.dol_print_date($db->jdate($obj->dm),'day')."</td>\n";
|
||||
print '<td align="right">'.price($obj->amount)."</td>";
|
||||
print "</tr>\n";
|
||||
|
||||
$i++;
|
||||
}
|
||||
print '<tr class="liste_total"><td align="right" colspan="2">'.$langs->trans("Total").'</td>';
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
$var = !$var;
|
||||
print "<tr ".$bc[$var].">";
|
||||
// Date
|
||||
$date=$obj->periode;
|
||||
if (empty($date)) $date=$obj->date_ech;
|
||||
print '<td>'.dol_print_date($date,'day').'</td>';
|
||||
// Label
|
||||
print '<td>';
|
||||
$socialcontrib->id=$obj->rowid;
|
||||
$socialcontrib->ref=$obj->libelle;
|
||||
$socialcontrib->lib=$obj->libelle;
|
||||
print $socialcontrib->getNomUrl(1,'20');
|
||||
print '</td>';
|
||||
// Type
|
||||
print '<td><a href="../sociales/index.php?filtre=cs.fk_type:'.$obj->type.'">'.$obj->lib.'</a></td>';
|
||||
// Expected to pay
|
||||
print '<td align="right">'.price($obj->total).'</td>';
|
||||
// Ref payment
|
||||
$payment_sc_static->id=$obj->pid;
|
||||
$payment_sc_static->ref=$obj->pid;
|
||||
print '<td>'.$payment_sc_static->getNomUrl(1)."</td>\n";
|
||||
// Date payment
|
||||
print '<td align="center">'.dol_print_date($db->jdate($obj->datep),'day').'</td>';
|
||||
// Paid
|
||||
print '<td align="right">'.price($obj->totalpaye).'</td>';
|
||||
print '</tr>';
|
||||
$total = $total + $obj->total;
|
||||
$totalnb = $totalnb + $obj->nb;
|
||||
$totalpaye = $totalpaye + $obj->totalpaye;
|
||||
$i++;
|
||||
}
|
||||
print '<tr class="liste_total"><td align="right" colspan="3">'.$langs->trans("Total").'</td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print "</tr>";
|
||||
|
||||
print "</table>";
|
||||
$db->free($result);
|
||||
|
||||
print "<br>";
|
||||
}
|
||||
print '<td align="right">'.price($totalpaye)."</td>";
|
||||
print "</tr>";
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
dol_print_error($db);
|
||||
}
|
||||
print '</table>';
|
||||
}
|
||||
|
||||
// Social contributions only
|
||||
if (GETPOST("mode") != 'sconly')
|
||||
{
|
||||
print_fiche_titre($langs->trans("SocialContributionsPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', '');
|
||||
}
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"cs.date_ech","",$param,'width="120"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"c.libelle","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"cs.fk_type","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"cs.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pc.rowid","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pc.datep","",$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pc.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
|
||||
$sql = "SELECT c.id, c.libelle as lib,";
|
||||
$sql.= " cs.rowid, cs.libelle, cs.fk_type as type, cs.periode, cs.date_ech, cs.amount as total,";
|
||||
$sql.= " pc.rowid as pid, pc.datep, pc.amount as totalpaye";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."chargesociales as cs";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiementcharge as pc ON pc.fk_charge = cs.rowid";
|
||||
$sql.= " WHERE cs.fk_type = c.id";
|
||||
$sql.= " AND cs.entity = ".$conf->entity;
|
||||
if ($year > 0)
|
||||
{
|
||||
$sql .= " AND (";
|
||||
// Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance,
|
||||
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
||||
$sql .= " (cs.periode IS NOT NULL AND cs.periode between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
|
||||
$sql .= " OR (cs.periode IS NULL AND cs.date_ech between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
|
||||
$sql .= ")";
|
||||
}
|
||||
if (! preg_match('/^pv/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||
//$sql.= $db->plimit($limit+1,$offset);
|
||||
//print $sql;
|
||||
|
||||
dol_syslog("compta/charges/index.php: select payment sql=".$sql);
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
$total = 0;
|
||||
$totalnb = 0;
|
||||
$totalpaye = 0;
|
||||
$var=true;
|
||||
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
$var = !$var;
|
||||
print "<tr ".$bc[$var].">";
|
||||
// Date
|
||||
$date=$obj->periode;
|
||||
if (empty($date)) $date=$obj->date_ech;
|
||||
print '<td>'.dol_print_date($date,'day').'</td>';
|
||||
// Label
|
||||
print '<td>';
|
||||
$socialcontrib->id=$obj->rowid;
|
||||
$socialcontrib->ref=$obj->libelle;
|
||||
$socialcontrib->lib=$obj->libelle;
|
||||
print $socialcontrib->getNomUrl(1,'20');
|
||||
print '</td>';
|
||||
// Type
|
||||
print '<td><a href="../sociales/index.php?filtre=cs.fk_type:'.$obj->type.'">'.$obj->lib.'</a></td>';
|
||||
// Expected to pay
|
||||
print '<td align="right">'.price($obj->total).'</td>';
|
||||
// Ref payment
|
||||
$payment_sc_static->id=$obj->pid;
|
||||
$payment_sc_static->ref=$obj->pid;
|
||||
print '<td>'.$payment_sc_static->getNomUrl(1)."</td>\n";
|
||||
// Date payment
|
||||
print '<td align="center">'.dol_print_date($db->jdate($obj->datep),'day').'</td>';
|
||||
// Paid
|
||||
print '<td align="right">'.price($obj->totalpaye).'</td>';
|
||||
print '</tr>';
|
||||
$total = $total + $obj->total;
|
||||
$totalnb = $totalnb + $obj->nb;
|
||||
$totalpaye = $totalpaye + $obj->totalpaye;
|
||||
$i++;
|
||||
}
|
||||
print '<tr class="liste_total"><td align="right" colspan="3">'.$langs->trans("Total").'</td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="right">'.price($totalpaye)."</td>";
|
||||
print "</tr>";
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
print '</table>';
|
||||
|
||||
|
||||
// VAT
|
||||
|
||||
if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly')
|
||||
if ($conf->tax->enabled)
|
||||
{
|
||||
print "<br>";
|
||||
|
||||
$tva = new Tva($db);
|
||||
|
||||
print_fiche_titre($langs->trans("VATPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', '');
|
||||
|
||||
$sql = "SELECT pv.rowid, pv.amount, pv.label, pv.datev as dm";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."tva as pv";
|
||||
$sql.= " WHERE pv.entity = ".$conf->entity;
|
||||
if ($year > 0)
|
||||
if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly')
|
||||
{
|
||||
// Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance,
|
||||
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
||||
$sql.= " AND pv.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
|
||||
}
|
||||
if (preg_match('/^pv/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||
print "<br>";
|
||||
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
{
|
||||
$num = $db->num_rows($result);
|
||||
$i = 0;
|
||||
$total = 0 ;
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"pv.datev","",$param,'width="120"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"pv.label","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pv.rowid","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pv.datev","",$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
$var=1;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($result);
|
||||
$tva = new Tva($db);
|
||||
|
||||
$total = $total + $obj->amount;
|
||||
print_fiche_titre($langs->trans("VATPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', '');
|
||||
|
||||
$var=!$var;
|
||||
print "<tr ".$bc[$var].">";
|
||||
print '<td align="left">'.dol_print_date($db->jdate($obj->dm),'day').'</td>'."\n";
|
||||
$sql = "SELECT pv.rowid, pv.amount, pv.label, pv.datev as dm";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."tva as pv";
|
||||
$sql.= " WHERE pv.entity = ".$conf->entity;
|
||||
if ($year > 0)
|
||||
{
|
||||
// Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance,
|
||||
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
||||
$sql.= " AND pv.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
|
||||
}
|
||||
if (preg_match('/^pv/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||
|
||||
print "<td>".$obj->label."</td>\n";
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
{
|
||||
$num = $db->num_rows($result);
|
||||
$i = 0;
|
||||
$total = 0 ;
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"pv.datev","",$param,'width="120"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"pv.label","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pv.rowid","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pv.datev","",$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
$var=1;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($result);
|
||||
|
||||
print '<td align="right">'.price($obj->amount)."</td>";
|
||||
$total = $total + $obj->amount;
|
||||
|
||||
// Ref payment
|
||||
$tva_static->id=$obj->rowid;
|
||||
$tva_static->ref=$obj->rowid;
|
||||
print '<td align="left">'.$tva_static->getNomUrl(1)."</td>\n";
|
||||
$var=!$var;
|
||||
print "<tr ".$bc[$var].">";
|
||||
print '<td align="left">'.dol_print_date($db->jdate($obj->dm),'day').'</td>'."\n";
|
||||
|
||||
print '<td align="center">'.dol_print_date($db->jdate($obj->dm),'day')."</td>\n";
|
||||
print '<td align="right">'.price($obj->amount)."</td>";
|
||||
print "</tr>\n";
|
||||
print "<td>".$obj->label."</td>\n";
|
||||
|
||||
$i++;
|
||||
}
|
||||
print '<tr class="liste_total"><td align="right" colspan="2">'.$langs->trans("Total").'</td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print "</tr>";
|
||||
print '<td align="right">'.price($obj->amount)."</td>";
|
||||
|
||||
print "</table>";
|
||||
$db->free($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
// Ref payment
|
||||
$tva_static->id=$obj->rowid;
|
||||
$tva_static->ref=$obj->rowid;
|
||||
print '<td align="left">'.$tva_static->getNomUrl(1)."</td>\n";
|
||||
|
||||
print '<td align="center">'.dol_print_date($db->jdate($obj->dm),'day')."</td>\n";
|
||||
print '<td align="right">'.price($obj->amount)."</td>";
|
||||
print "</tr>\n";
|
||||
|
||||
$i++;
|
||||
}
|
||||
print '<tr class="liste_total"><td align="right" colspan="2">'.$langs->trans("Total").'</td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="right">'.price($total)."</td>";
|
||||
print "</tr>";
|
||||
|
||||
print "</table>";
|
||||
$db->free($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$db->close();
|
||||
|
||||
llxFooter();
|
||||
|
||||
$db->close();
|
||||
?>
|
||||
|
||||
@ -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)
|
||||
{
|
||||
$result=$object->delete($id);
|
||||
@ -295,7 +265,7 @@ if ($action == 'create')
|
||||
print '<td class="border" valign="top">'.$langs->trans('NotePublic').'</td>';
|
||||
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 '</td></tr>';
|
||||
@ -307,7 +277,7 @@ if ($action == 'create')
|
||||
print '<td class="border" valign="top">'.$langs->trans('NotePrivate').'</td>';
|
||||
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 '</td></tr>';
|
||||
@ -391,7 +361,7 @@ else if ($id)
|
||||
print '<tr><td valign="top">'.$langs->trans("NotePublic").'</td>';
|
||||
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 "</td></tr>";
|
||||
@ -402,7 +372,7 @@ else if ($id)
|
||||
print '<tr><td valign="top">'.$langs->trans("NotePrivate").'</td>';
|
||||
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 "</td></tr>";
|
||||
|
||||
@ -121,6 +121,7 @@ print '</tr>';
|
||||
print '</table>';
|
||||
|
||||
|
||||
|
||||
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
||||
|
||||
|
||||
|
||||
181
htdocs/compta/hrm.php
Normal file
181
htdocs/compta/hrm.php
Normal 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"> </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();
|
||||
?>
|
||||
@ -139,24 +139,6 @@ if (! empty($conf->don->enabled) && $user->rights->don->lire)
|
||||
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
|
||||
*/
|
||||
|
||||
@ -84,66 +84,12 @@ print $bprev->NbFactureAPrelever();
|
||||
print '</a>';
|
||||
print '</td></tr>';
|
||||
$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 price($bprev->SommeAPrelever());
|
||||
print price($bprev->SommeAPrelever(),'','',1,-1,-1,'auto');
|
||||
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
|
||||
@ -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>';
|
||||
|
||||
llxFooter();
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
|
||||
/**
|
||||
* \file htdocs/compta/salaries/class/paymentsalary.class.php
|
||||
* \ingroup tax
|
||||
* \brief Class for tax module salary payment
|
||||
* \ingroup salaries
|
||||
* \brief Class for salaries module payment
|
||||
*/
|
||||
|
||||
// Put here all includes required by your class file
|
||||
@ -76,7 +76,7 @@ class PaymentSalary extends CommonObject
|
||||
global $conf, $langs;
|
||||
|
||||
$error=0;
|
||||
|
||||
|
||||
// Clean parameters
|
||||
$this->fk_user=trim($this->fk_user);
|
||||
$this->amount=trim($this->amount);
|
||||
@ -85,10 +85,10 @@ class PaymentSalary extends CommonObject
|
||||
$this->fk_bank=trim($this->fk_bank);
|
||||
$this->fk_user_creat=trim($this->fk_user_creat);
|
||||
$this->fk_user_modif=trim($this->fk_user_modif);
|
||||
|
||||
|
||||
// Check parameters
|
||||
// Put here code to add control on parameters values
|
||||
|
||||
|
||||
// Insert request
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."payment_salary(";
|
||||
$sql.= "tms,";
|
||||
@ -103,9 +103,9 @@ class PaymentSalary extends CommonObject
|
||||
$sql.= "fk_bank,";
|
||||
$sql.= "fk_user_creat,";
|
||||
$sql.= "fk_user_modif";
|
||||
|
||||
|
||||
$sql.= ") VALUES (";
|
||||
|
||||
|
||||
$sql.= " '".$this->db->idate($this->tms).",";
|
||||
$sql.= " '".$this->fk_user."',";
|
||||
$sql.= " '".$this->db->idate($this->datep)."',";
|
||||
@ -118,7 +118,7 @@ class PaymentSalary extends CommonObject
|
||||
$sql.= " ".($this->fk_bank <= 0 ? "NULL" : "'".$this->fk_bank."'").",";
|
||||
$sql.= " '".$this->fk_user_creat."',";
|
||||
$sql.= " '".$this->fk_user_modif."'";
|
||||
|
||||
|
||||
$sql.= ")";
|
||||
|
||||
dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG);
|
||||
@ -146,7 +146,7 @@ class PaymentSalary extends CommonObject
|
||||
|
||||
/**
|
||||
* Update database
|
||||
*
|
||||
*
|
||||
* @param User $user User that modify
|
||||
* @param int $notrigger 0=no, 1=yes (no update trigger)
|
||||
* @return int <0 if KO, >0 if OK
|
||||
@ -156,7 +156,7 @@ class PaymentSalary extends CommonObject
|
||||
global $conf, $langs;
|
||||
|
||||
$error=0;
|
||||
|
||||
|
||||
// Clean parameters
|
||||
$this->fk_user=trim($this->fk_user);
|
||||
$this->amount=trim($this->amount);
|
||||
@ -165,7 +165,7 @@ class PaymentSalary extends CommonObject
|
||||
$this->fk_bank=trim($this->fk_bank);
|
||||
$this->fk_user_creat=trim($this->fk_user_creat);
|
||||
$this->fk_user_modif=trim($this->fk_user_modif);
|
||||
|
||||
|
||||
// Check parameters
|
||||
if (empty($this->fk_user) || $this->fk_user < 0)
|
||||
{
|
||||
@ -216,7 +216,7 @@ class PaymentSalary extends CommonObject
|
||||
|
||||
/**
|
||||
* Load object in memory from database
|
||||
*
|
||||
*
|
||||
* @param int $id id object
|
||||
* @param User $user User that load
|
||||
* @return int <0 if KO, >0 if OK
|
||||
@ -226,7 +226,7 @@ class PaymentSalary extends CommonObject
|
||||
global $langs;
|
||||
$sql = "SELECT";
|
||||
$sql.= " s.rowid,";
|
||||
|
||||
|
||||
$sql.= " s.tms,";
|
||||
$sql.= " s.fk_user,";
|
||||
$sql.= " s.datep,";
|
||||
@ -288,7 +288,7 @@ class PaymentSalary extends CommonObject
|
||||
|
||||
/**
|
||||
* Delete object in database
|
||||
*
|
||||
*
|
||||
* @param User $user User that delete
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
@ -360,7 +360,7 @@ class PaymentSalary extends CommonObject
|
||||
|
||||
// Clean parameters
|
||||
$this->amount=price2num(trim($this->amount));
|
||||
|
||||
|
||||
// Check parameters
|
||||
if (! $this->label)
|
||||
{
|
||||
@ -369,7 +369,7 @@ class PaymentSalary extends CommonObject
|
||||
}
|
||||
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;
|
||||
}
|
||||
if ($this->amount < 0 || $this->amount == '')
|
||||
@ -439,19 +439,19 @@ class PaymentSalary extends CommonObject
|
||||
$acc = new Account($this->db);
|
||||
$result=$acc->fetch($this->accountid);
|
||||
if ($result <= 0) dol_print_error($this->db);
|
||||
|
||||
|
||||
// Insert payment into llx_bank
|
||||
// Add link 'payment_salary' in bank_url between payment and bank transaction
|
||||
$bank_line_id = $acc->addline(
|
||||
$this->datep,
|
||||
$this->paymenttype,
|
||||
$this->label,
|
||||
-abs($this->amount),
|
||||
-abs($this->amount),
|
||||
'',
|
||||
'',
|
||||
$user
|
||||
);
|
||||
|
||||
|
||||
// Mise a jour fk_bank dans llx_paiement.
|
||||
// On connait ainsi le paiement qui a genere l'ecriture bancaire
|
||||
if ($bank_line_id > 0)
|
||||
@ -463,26 +463,26 @@ class PaymentSalary extends CommonObject
|
||||
$this->error=$acc->error;
|
||||
$ok=0;
|
||||
}
|
||||
|
||||
|
||||
// Add link 'payment_salary' in bank_url between payment and bank transaction
|
||||
$url=DOL_URL_ROOT.'/compta/salaries/fiche.php?id=';
|
||||
|
||||
|
||||
$result=$acc->add_url_line($bank_line_id, $this->id, $url, "(SalaryPayment)", "payment_salary");
|
||||
if ($result <= 0)
|
||||
{
|
||||
$this->error=$acc->error;
|
||||
$ok=0;
|
||||
}
|
||||
|
||||
|
||||
// Add link 'user' in bank_url between operation and bank transaction
|
||||
$linkaddedforthirdparty=array();
|
||||
foreach ($this->amounts as $key => $value)
|
||||
{
|
||||
$sal = new PaymentSalary($this->db);
|
||||
|
||||
|
||||
$sal->fetch($key);
|
||||
$sal->fetch_user($this->fk_user);
|
||||
|
||||
|
||||
if (! in_array($sal->user->id,$linkaddedforthirdparty)) // Not yet done for this thirdparty
|
||||
{
|
||||
$result=$acc->add_url_line(
|
||||
@ -492,14 +492,14 @@ class PaymentSalary extends CommonObject
|
||||
$sal->user->lastname,
|
||||
'user'
|
||||
);
|
||||
|
||||
|
||||
if ($result <= 0) dol_print_error($this->db);
|
||||
$linkaddedforthirdparty[$sal->user->id]=$sal->user->id; // Mark as done for this thirdparty
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($ok)
|
||||
{
|
||||
$this->db->commit();
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
/**
|
||||
* \file htdocs/compta/salaries/fiche.php
|
||||
* \ingroup tax
|
||||
* \brief Page of salaries payments
|
||||
* \brief Page of salaries payments
|
||||
*/
|
||||
|
||||
require '../../main.inc.php';
|
||||
@ -29,6 +29,8 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
||||
$langs->load("compta");
|
||||
$langs->load("banks");
|
||||
$langs->load("bills");
|
||||
$langs->load("users");
|
||||
$langs->load("salaries");
|
||||
|
||||
$id=GETPOST("id",'int');
|
||||
$action=GETPOST('action');
|
||||
@ -164,15 +166,15 @@ if ($action == 'create')
|
||||
$pastmonth = 12;
|
||||
$pastmonthyear--;
|
||||
}
|
||||
|
||||
|
||||
$datesp=dol_mktime(0, 0, 0, $datespmonth, $datespday, $datespyear);
|
||||
$dateep=dol_mktime(23, 59, 59, $dateepmonth, $dateepday, $dateepyear);
|
||||
|
||||
|
||||
if (empty($datesp) || empty($dateep)) // We define date_start and date_end
|
||||
{
|
||||
$datesp=dol_get_first_day($pastmonthyear,$pastmonth,false); $dateep=dol_get_last_day($pastmonthyear,$pastmonth,false);
|
||||
}
|
||||
|
||||
|
||||
print "<form name='add' action=\"fiche.php\" method=\"post\">\n";
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
@ -189,15 +191,16 @@ if ($action == 'create')
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("DateValue").'</td><td>';
|
||||
print $form->select_date($datev,"datev",'','','','add');
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
// Employee
|
||||
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 '</td></tr>';
|
||||
|
||||
// Label
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Label").'</td><td><input name="label" size="40" value="'.($_POST["label"]?$_POST["label"]:$langs->trans("SalaryPayment")).'"></td></tr>';
|
||||
|
||||
|
||||
print "<tr>";
|
||||
print '<td class="fieldrequired">'.$langs->trans("DateStartPeriod").'</td><td>';
|
||||
print $form->select_date($datesp,"datesp",'','','','add');
|
||||
@ -209,31 +212,31 @@ if ($action == 'create')
|
||||
|
||||
// Amount
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Amount").'</td><td><input name="amount" size="10" value="'.$_POST["amount"].'"></td></tr>';
|
||||
|
||||
|
||||
// Bank
|
||||
if (! empty($conf->banque->enabled))
|
||||
{
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Account").'</td><td>';
|
||||
$form->select_comptes($_POST["accountid"],"accountid",0,"courant=1",1); // Affiche liste des comptes courant
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("PaymentMode").'</td><td>';
|
||||
$form->select_types_paiements($_POST["paiementtype"], "paiementtype");
|
||||
print "</td>\n";
|
||||
print "</tr>";
|
||||
}
|
||||
|
||||
|
||||
// Other attributes
|
||||
$parameters=array('colspan' => ' colspan="1"');
|
||||
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
||||
|
||||
|
||||
print '</table>';
|
||||
|
||||
|
||||
print "<br>";
|
||||
|
||||
|
||||
print '<center><input type="submit" class="button" value="'.$langs->trans("Save").'"> ';
|
||||
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></center>';
|
||||
|
||||
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
@ -261,7 +264,7 @@ if ($id)
|
||||
print '<td width="25%">'.$langs->trans("Ref").'</td><td colspan="3">';
|
||||
print $salpayment->ref;
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
// Person
|
||||
print '<tr><td>'.$langs->trans("Person").'</td><td>';
|
||||
$usersal=new User($db);
|
||||
@ -280,7 +283,7 @@ if ($id)
|
||||
print '<tr><td>'.$langs->trans("DateEndPeriod").'</td><td colspan="3">';
|
||||
print dol_print_date($salpayment->dateep,'day');
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
print "<tr>";
|
||||
print '<td>'.$langs->trans("DatePayment").'</td><td colspan="3">';
|
||||
print dol_print_date($salpayment->datep,'day');
|
||||
|
||||
@ -25,6 +25,7 @@ require '../../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php';
|
||||
|
||||
$langs->load("compta");
|
||||
$langs->load("salaries");
|
||||
|
||||
// Security check
|
||||
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
|
||||
@ -41,7 +42,7 @@ llxHeader();
|
||||
|
||||
$salstatic = new PaymentSalary($db);
|
||||
$userstatic = new User($db);
|
||||
|
||||
|
||||
|
||||
print_fiche_titre($langs->trans("SalariesPayments"));
|
||||
|
||||
|
||||
@ -547,7 +547,6 @@ class Menubase
|
||||
$tmpcond=$menu['enabled'];
|
||||
if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z_]+/','1==1',$tmpcond); // Force part of condition to true
|
||||
$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
|
||||
|
||||
34
htdocs/core/js/lib_batch.js
Normal file
34
htdocs/core/js/lib_batch.js
Normal 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);
|
||||
}
|
||||
@ -78,6 +78,11 @@ function categoriesadmin_prepare_head()
|
||||
$head[$h][1] = $langs->trans("Setup");
|
||||
$head[$h][2] = 'setup';
|
||||
$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
|
||||
// Entries must be declared in modules descriptor with line
|
||||
|
||||
@ -999,7 +999,7 @@ function dol_getdate($timestamp,$fast=false)
|
||||
* @param int $year Year
|
||||
* @param int $gm 1=Input informations are GMT values, otherwise local to server TZ
|
||||
* @param int $check 0=No check on parameters (Can use day 32, etc...)
|
||||
* @return int Date as a timestamp, '' if error
|
||||
* @return int Date as a timestamp, '' if error
|
||||
* @see dol_print_date, dol_stringtotime, dol_getdate
|
||||
*/
|
||||
function dol_mktime($hour,$minute,$second,$month,$day,$year,$gm=false,$check=1)
|
||||
@ -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 $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 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
|
||||
*
|
||||
* @see price2num Revert function of price
|
||||
@ -2751,6 +2751,8 @@ function price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerou
|
||||
$cursymbolbefore=$cursymbolafter='';
|
||||
if ($currency_code)
|
||||
{
|
||||
if ($currency_code == 'auto') $currency_code=$conf->currency;
|
||||
|
||||
$listofcurrenciesbefore=array('USD');
|
||||
if (in_array($currency_code,$listofcurrenciesbefore)) $cursymbolbefore.=$outlangs->getCurrencySymbol($currency_code);
|
||||
else $cursymbolafter.=$outlangs->getCurrencySymbol($currency_code);
|
||||
|
||||
@ -222,8 +222,14 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
|
||||
|
||||
$numlines=count($lines);
|
||||
|
||||
$total=0;
|
||||
$total_planned=0;
|
||||
// We declare counter as global because we want to edit them into recursive call
|
||||
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++)
|
||||
{
|
||||
@ -391,9 +397,9 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
|
||||
$level++;
|
||||
if ($lines[$i]->id) projectLinesa($inc, $lines[$i]->id, $lines, $level, $var, $showproject, $taskrole, $projectsListId, $addordertick);
|
||||
$level--;
|
||||
$total += $lines[$i]->duration;
|
||||
$total_planned += $lines[$i]->planned_workload;
|
||||
// TODO fix totals in recursive calls
|
||||
$total_projectlinesa_spent += $lines[$i]->duration;
|
||||
$total_projectlinesa_planned += $lines[$i]->planned_workload;
|
||||
if ($lines[$i]->planned_workload) $total_projectlinesa_spent_if_planned += $lines[$i]->duration;
|
||||
}
|
||||
}
|
||||
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 '<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 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 align="right" class="nowrap liste_total">'.convertSecondToTime($total, 'allhourmin').'</td>';
|
||||
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>';
|
||||
if ($addordertick) print '<td class="hideonsmartphone"></td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -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&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&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&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&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&leftmenu=', 'HRM', -1, 'holiday', '$user->rights->holiday->write || $user->rights->deplacement->lire', '', 0, 80, __ENTITY__);
|
||||
|
||||
-- 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__);
|
||||
@ -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&mainmenu=accountancy&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&mainmenu=accountancy', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__);
|
||||
--insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/stats.php?leftmenu=donations&mainmenu=accountancy', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__);
|
||||
-- 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', 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->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2101__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/fiche.php?action=create&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 && $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&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&mainmenu=accountancy', 'Salaries', 1, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
|
||||
-- Special expenses
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled || $conf->salaries->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'accountancy', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy', 'MenuSpecialExpenses', 0, 'compta', '1', '', 0, 6, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2201__+MAX_llx_menu__, 'accountancy', 'tax_sal', 2200__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy', 'Salaries', 1, 'salaries', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2202__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/fiche.php?leftmenu=tax_salary&action=create', 'NewPayment', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->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__);
|
||||
@ -280,10 +276,15 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
|
||||
-- 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&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&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', 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', 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__);
|
||||
-- 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&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__);
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<?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) 2012-2013 Juanjo Menent <jmenent@2byte.es>
|
||||
* 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
|
||||
$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)),
|
||||
'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)),
|
||||
'module'=>'comptabilite|accounting|facture|deplacement|don|tax');
|
||||
$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->don->lire) || ! empty($user->rights->tax->charges->lire)),
|
||||
'module'=>'comptabilite|accounting|facture|don|tax');
|
||||
$showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal);
|
||||
if ($showmode)
|
||||
{
|
||||
@ -195,9 +195,9 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0)
|
||||
}
|
||||
|
||||
// HRM
|
||||
$tmpentry=array('enabled'=>(! empty($conf->holiday->enabled)),
|
||||
'perms'=>(! empty($user->rights->holiday->write)),
|
||||
'module'=>'holiday');
|
||||
$tmpentry=array('enabled'=>(! empty($conf->holiday->enabled) || ! empty($conf->deplacement->enabled)),
|
||||
'perms'=>(! empty($user->rights->holiday->write) || ! empty($user->rights->deplacement->lire)),
|
||||
'module'=>'holiday|deplacement');
|
||||
$showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal);
|
||||
if ($showmode)
|
||||
{
|
||||
@ -209,9 +209,9 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0)
|
||||
$idsel='hrm';
|
||||
|
||||
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&leftmenu=', $id, $idsel, $classname, $atarget);
|
||||
if (empty($noout)) print_text_menu_entry($langs->trans("HRM"), $showmode, DOL_URL_ROOT.'/compta/hrm.php?mainmenu=hrm&leftmenu=', $id, $idsel, $classname, $atarget);
|
||||
if (empty($noout)) print_end_menu_entry($showmode);
|
||||
$menu->add('/holiday/index.php?mainmenu=holiday&leftmenu=', $langs->trans("HRM"), 0, $showmode, $atarget, "hrm", '');
|
||||
$menu->add('/compta/hrm.php?mainmenu=hrm&leftmenu=', $langs->trans("HRM"), 0, $showmode, $atarget, "hrm", '');
|
||||
}
|
||||
|
||||
|
||||
@ -790,27 +790,23 @@ 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);
|
||||
}
|
||||
|
||||
// Trips and expenses
|
||||
if (! empty($conf->deplacement->enabled))
|
||||
{
|
||||
$langs->load("trips");
|
||||
$newmenu->add("/compta/deplacement/index.php?leftmenu=tripsandexpenses&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&leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("New"), 1, $user->rights->deplacement->creer);
|
||||
if (empty($leftmenu) || $leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/list.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("List"), 1, $user->rights->deplacement->lire);
|
||||
if (empty($leftmenu) || $leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("Statistics"), 1, $user->rights->deplacement->lire);
|
||||
}
|
||||
|
||||
// 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&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&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;
|
||||
// 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);
|
||||
|
||||
$newmenu->add("/compta/charges/index.php?leftmenu=tax&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&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
|
||||
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/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly",$langs->trans("Payments"), 2, $user->rights->tax->charges->lire);
|
||||
// VAT
|
||||
@ -1089,17 +1085,26 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
*/
|
||||
if ($mainmenu == 'hrm')
|
||||
{
|
||||
// Holiday module
|
||||
if (! empty($conf->holiday->enabled))
|
||||
{
|
||||
$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/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/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);
|
||||
}
|
||||
|
||||
// Trips and expenses
|
||||
if (! empty($conf->deplacement->enabled))
|
||||
{
|
||||
$langs->load("trips");
|
||||
$newmenu->add("/compta/deplacement/index.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("TripsAndExpenses"), 0, $user->rights->deplacement->lire, '', $mainmenu, 'tripsandexpenses');
|
||||
$newmenu->add("/compta/deplacement/fiche.php?action=create&leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("New"), 1, $user->rights->deplacement->creer);
|
||||
$newmenu->add("/compta/deplacement/list.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("List"), 1, $user->rights->deplacement->lire);
|
||||
$newmenu->add("/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("Statistics"), 1, $user->rights->deplacement->lire);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -63,7 +63,7 @@ class modCategorie extends DolibarrModules
|
||||
$this->depends = array();
|
||||
|
||||
// Config pages
|
||||
$this->config_page_url = array();
|
||||
$this->config_page_url = array('categorie_extrafields.php@categories');
|
||||
$this->langfiles = array("products","companies","categories");
|
||||
|
||||
// Constantes
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<?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>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -89,24 +89,12 @@ class modDeplacement extends DolibarrModules
|
||||
$this->rights[2][3] = 0;
|
||||
$this->rights[2][4] = 'creer';
|
||||
|
||||
$this->rights[3][0] = 173;
|
||||
$this->rights[3][0] = 173;
|
||||
$this->rights[3][1] = 'Supprimer les deplacements';
|
||||
$this->rights[3][2] = 'd';
|
||||
$this->rights[3][3] = 0;
|
||||
$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][1] = 'Exporter les deplacements';
|
||||
$this->rights[6][2] = 'd';
|
||||
|
||||
177
htdocs/core/modules/modSalaries.class.php
Normal file
177
htdocs/core/modules/modSalaries.class.php
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* 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>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -426,6 +426,34 @@ class InterfaceActionsAuto
|
||||
$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;
|
||||
$ok=1;
|
||||
}
|
||||
elseif ($action == 'ORDER_SUPPLIER_SENTBYMAIL')
|
||||
{
|
||||
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
|
||||
|
||||
@ -31,6 +31,7 @@
|
||||
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/class/commonorder.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 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 date $eatby eat-by date
|
||||
* @param date $sellby sell-by date
|
||||
* @param string $batch Lot number
|
||||
* @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;
|
||||
$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)
|
||||
$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)
|
||||
{
|
||||
$this->error=$mouv->error;
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* 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
|
||||
* 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('products');
|
||||
$langs->load('stocks');
|
||||
if (! empty($conf->productbatch->enabled)) $langs->load('productbatch');
|
||||
|
||||
// Security check
|
||||
$id = GETPOST("id",'int');
|
||||
@ -53,7 +55,7 @@ if (empty($conf->stock->enabled))
|
||||
|
||||
// Recuperation de l'id de projet
|
||||
$projectid = 0;
|
||||
if ($_GET["projectid"]) $projectid = $_GET["projectid"];
|
||||
if ($_GET["projectid"]) $projectid = GETPOST("projectid",'int');
|
||||
|
||||
$mesg='';
|
||||
|
||||
@ -76,9 +78,9 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
|
||||
$qty = "qty_".$reg[1];
|
||||
$ent = "entrepot_".$reg[1];
|
||||
$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
|
||||
{
|
||||
@ -86,7 +88,33 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
|
||||
$text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1);
|
||||
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)
|
||||
@ -104,7 +132,7 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
|
||||
{
|
||||
$db->commit();
|
||||
|
||||
header("Location: dispatch.php?id=".$_GET["id"]);
|
||||
header("Location: dispatch.php?id=".$id);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
@ -120,22 +148,27 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur");
|
||||
if (!empty($conf->productbatch->enabled)) {
|
||||
llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur",'',0,0,array('/core/js/lib_batch.js'));
|
||||
|
||||
} else {
|
||||
llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur");
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$warehouse_static = new Entrepot($db);
|
||||
|
||||
$now=dol_now();
|
||||
|
||||
$id = $_GET['id'];
|
||||
$ref= $_GET['ref'];
|
||||
$id = GETPOST('id','int');
|
||||
$ref= GETPOST('ref');
|
||||
if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
//if ($mesg) print $mesg.'<br>';
|
||||
|
||||
$commande = new CommandeFournisseur($db);
|
||||
|
||||
$result=$commande->fetch($_GET['id'],$_GET['ref']);
|
||||
$result=$commande->fetch($id,$ref);
|
||||
if ($result >= 0)
|
||||
{
|
||||
$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.= " p.ref, p.label";
|
||||
$sql.= " p.ref, p.label, p.tobatch";
|
||||
$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.= " 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";
|
||||
|
||||
$resql = $db->query($sql);
|
||||
@ -253,13 +286,23 @@ if ($id > 0 || ! empty($ref))
|
||||
if ($num)
|
||||
{
|
||||
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("QtyDispatched").'</td>';
|
||||
print '<td align="right">'.$langs->trans("QtyDelivered").'</td>';
|
||||
print '<td align="right">'.$langs->trans("Warehouse").'</td>';
|
||||
print "</tr>\n";
|
||||
if (!empty($conf->productbatch->enabled)) {
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td width="5%"> </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%"> </td>';
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$nbfreeproduct=0;
|
||||
@ -285,35 +328,57 @@ if ($id > 0 || ! empty($ref))
|
||||
|
||||
$var=!$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 ' - '.$objp->label."\n";
|
||||
// To show detail cref and description value, we must make calculation by cref
|
||||
//print ($objp->cref?' ('.$objp->cref.')':'');
|
||||
//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;
|
||||
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');
|
||||
$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');
|
||||
|
||||
print '<input name="pu_'.$i.'" type="hidden" value="'.$up_ht_disc.'">'."<!-- This is a up including discount -->\n";
|
||||
print "</td>\n";
|
||||
|
||||
print '<td align="right">'.$objp->qty.'</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"> </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
|
||||
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
|
||||
print '<td align="right">';
|
||||
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)
|
||||
{
|
||||
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
|
||||
{
|
||||
@ -339,7 +404,7 @@ if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
print $langs->trans("Comment").' : ';
|
||||
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 '" class="flat"><br><br>';
|
||||
|
||||
|
||||
@ -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
|
||||
)
|
||||
{
|
||||
$predef=(($conf->global->MAIN_FEATURES_LEVEL < 2) ? '_predef' : '');
|
||||
$predef= '_predef';
|
||||
$idprod=GETPOST('idprod', 'int');
|
||||
$product_desc = (GETPOST('product_desc')?GETPOST('product_desc'):(GETPOST('np_desc')?GETPOST('np_desc'):''));
|
||||
$price_ht = '';
|
||||
@ -202,7 +202,6 @@ else if ($action == 'addline' && $user->rights->fournisseur->commande->creer)
|
||||
}
|
||||
$qty = GETPOST('qty'.$predef);
|
||||
$remise_percent=GETPOST('remise_percent'.$predef);
|
||||
|
||||
if (GETPOST('addline_libre') && GETPOST('pu') < 0 && $qty < 0)
|
||||
{
|
||||
setEventMessage($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPrice'), $langs->transnoentitiesnoconv('Qty')), 'errors');
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
|
||||
* Copyright (C) 2005 Marc Barilley <marc@ocebo.fr>
|
||||
* 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 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'];
|
||||
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";
|
||||
if ($message)
|
||||
{
|
||||
|
||||
@ -233,7 +233,7 @@ else
|
||||
{
|
||||
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>';
|
||||
}
|
||||
else {
|
||||
print '</div>';
|
||||
dol_fiche_end();
|
||||
}
|
||||
|
||||
print '<form method="get" action="'.$_SERVER["PHP_SELF"].'">'."\n";
|
||||
|
||||
@ -980,18 +980,17 @@ create table llx_product_customer_price
|
||||
recuperableonly integer NOT NULL DEFAULT '0', -- Other NPR VAT
|
||||
localtax1_tx double(6,3) DEFAULT 0, -- Other local VAT 1
|
||||
localtax2_tx double(6,3) DEFAULT 0, -- Other local VAT 2
|
||||
fk_user integer,
|
||||
import_key varchar(14) -- Import key
|
||||
fk_user integer,
|
||||
import_key varchar(14) -- Import key
|
||||
)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 CONSTRAINT fk_product_customer_price_fk_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
|
||||
|
||||
ALTER TABLE llx_product_customer_price ADD INDEX idx_product_customer_price_fk_soc (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_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_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
|
||||
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 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_base_type varchar(3) DEFAULT 'HT',
|
||||
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
|
||||
localtax2_tx double(6,3) DEFAULT 0, -- Other local VAT 2
|
||||
fk_user integer,
|
||||
@ -1028,7 +1027,7 @@ CREATE TABLE llx_product_batch (
|
||||
eatby datetime DEFAULT NULL,
|
||||
sellby datetime 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,
|
||||
KEY ix_fk_product_stock (fk_product_stock)
|
||||
) ENGINE=InnoDB;
|
||||
@ -1039,7 +1038,7 @@ CREATE TABLE llx_expeditiondet_batch (
|
||||
eatby date DEFAULT NULL,
|
||||
sellby date 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,
|
||||
KEY ix_fk_expeditiondet (fk_expeditiondet)
|
||||
) ENGINE=InnoDB;
|
||||
@ -1063,9 +1062,21 @@ CREATE TABLE llx_payment_salary (
|
||||
)ENGINE=innodb;
|
||||
|
||||
--New 1074 : Stock mouvement link to origin
|
||||
ALTER TABLE llx_stock_mouvement ADD fk_origin INT NOT NULL ;
|
||||
ALTER TABLE llx_stock_mouvement ADD origintype VARCHAR( 32 ) NOT NULL ;
|
||||
ALTER TABLE llx_stock_mouvement ADD fk_origin integer;
|
||||
ALTER TABLE llx_stock_mouvement ADD origintype VARCHAR(32);
|
||||
|
||||
--NEw 1300 : Add THM on user
|
||||
ALTER TABLE llx_user ADD thm FLOAT NOT NULL ;
|
||||
ALTER TABLE llx_projet_task_time ADD thm FLOAT NOT NULL ;
|
||||
--New 1300 : Add THM on user
|
||||
ALTER TABLE llx_user ADD thm double(24,8);
|
||||
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);
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
-- 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;
|
||||
|
||||
|
||||
|
||||
@ -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);
|
||||
26
htdocs/install/mysql/tables/llx_categories_extrafields.sql
Normal file
26
htdocs/install/mysql/tables/llx_categories_extrafields.sql
Normal 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;
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
-- ============================================================================
|
||||
-- Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
-- Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
-- Copyright (C) 2009-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
-- Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
-- Copyright (C) 2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
-- Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
|
||||
--
|
||||
-- This program is free software; you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
@ -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 CONSTRAINT fk_product_customer_price_fk_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
|
||||
|
||||
ALTER TABLE llx_product_customer_price ADD INDEX idx_product_customer_price_fk_soc (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_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_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
|
||||
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);
|
||||
|
||||
@ -19,9 +19,10 @@
|
||||
create table llx_projet_task_time
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
fk_task integer NOT NULL,
|
||||
fk_task integer NOT NULL,
|
||||
task_date date,
|
||||
task_duration double,
|
||||
fk_user integer,
|
||||
thm double(24,8),
|
||||
note text
|
||||
)ENGINE=innodb;
|
||||
|
||||
@ -54,6 +54,7 @@ create table llx_user
|
||||
fk_socpeople integer,
|
||||
fk_member integer,
|
||||
fk_user integer, -- Hierarchic parent
|
||||
thm double(24,8),
|
||||
note text DEFAULT NULL,
|
||||
datelastlogin datetime,
|
||||
datepreviouslogin datetime,
|
||||
|
||||
@ -109,8 +109,8 @@ ParameterInDolibarr=الوحدة %s
|
||||
LanguageParameter=وحدة اللغة %s
|
||||
LanguageBrowserParameter=الوحدة %s
|
||||
LocalisationDolibarrParameters=الوحدات المحلية
|
||||
ClientTZ=المنطقة الزمنية العميل (المستخدم)
|
||||
ClientHour=ساعة العميل (المستخدم)
|
||||
# ClientTZ=Client Time Zone (user)
|
||||
# ClientHour=Client time (user)
|
||||
OSTZ=المنطقة الزمنية لنظام تشغيل الخادم
|
||||
PHPTZ=المنطقة الزمنية خادم PHP
|
||||
PHPServerOffsetWithGreenwich=عرض وزنية جرينتش لخادم لغة الـ PHP (ثانية)
|
||||
@ -512,8 +512,8 @@ Module50200Name= باي بال
|
||||
Module50200Desc= وحدة لتقديم على صفحة الدفع عبر الإنترنت عن طريق بطاقة الائتمان مع بايبال
|
||||
# Module54000Name=PrintIPP
|
||||
# Module54000Desc=Print via Cups IPP Printer.
|
||||
# Module55000Name=Open Survey
|
||||
# Module55000Desc=Module to make online surveys (like Doodle, Studs, Rdvz, ...)
|
||||
# Module55000Name=Open Poll
|
||||
# Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
|
||||
# Module59000Name=Margins
|
||||
# Module59000Desc=Module to manage margins
|
||||
# Module60000Name=Commissions
|
||||
@ -732,8 +732,8 @@ Permission2515=إعداد وثائق وأدلة
|
||||
Permission50201=قراءة المعاملات
|
||||
Permission50202=استيراد المعاملات
|
||||
# Permission54001=Print
|
||||
# Permission55001=Read surveys
|
||||
# Permission55002=Create/modify surveys
|
||||
# Permission55001=Read polls
|
||||
# Permission55002=Create/modify polls
|
||||
# Permission59001=Read commercial margins
|
||||
# Permission59002=Define commercial margins
|
||||
# DictionaryCompanyType=Thirdparties type
|
||||
|
||||
@ -28,6 +28,9 @@ InvoiceReplacementDesc=<b>استبدال الفاتورة</b> يستخدم لا
|
||||
InvoiceAvoir=علما الائتمان
|
||||
InvoiceAvoirAsk=علما الائتمان لتصحيح الفاتورة
|
||||
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=يستعاض عن فاتورة ٪ ق
|
||||
ReplacementInvoice=استبدال الفاتورة
|
||||
ReplacedByInvoice=بعبارة فاتورة ق ٪
|
||||
@ -222,8 +225,6 @@ DispenseMontantLettres=ليه factures rédigées قدم المساواة طرا
|
||||
NonPercuRecuperable=غير القابلة للاسترداد
|
||||
SetConditions=تحدد شروط الدفع
|
||||
SetMode=حدد طريقة الدفع
|
||||
SetDate= في الموعد المحدد
|
||||
# SelectDate=Select a date
|
||||
Billed=فواتير
|
||||
RepeatableInvoice=محددة مسبقا فاتورة
|
||||
RepeatableInvoices=محددة مسبقا والفواتير
|
||||
|
||||
@ -66,7 +66,7 @@ ReturnInCompany=عودة الى الزبون / احتمال بطاقة
|
||||
ContentsVisibleByAll=محتويات سوف تكون واضحة من جانب جميع
|
||||
ContentsVisibleByAllShort=محتويات مرئية من قبل جميع
|
||||
ContentsNotVisibleByAllShort=محتويات غير مرئي من قبل جميع
|
||||
CategoriesTree=شجرة التصنيفات
|
||||
# CategoriesTree=Categories tree
|
||||
DeleteCategory=حذف فئة
|
||||
ConfirmDeleteCategory=هل أنت متأكد من أنك تريد حذف هذه الفئة؟
|
||||
RemoveFromCategory=إزالة الارتباط مع catégorie
|
||||
@ -105,3 +105,9 @@ CatMemberList=قائمة بأسماء أعضاء الفئات
|
||||
# CatCusLinks=Links between customers/prospects and categories
|
||||
# CatSupLinks=Links between suppliers and categories
|
||||
# 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
|
||||
|
||||
@ -403,7 +403,6 @@ ActivityStateFilter=نشاط المركز
|
||||
# CurrentOutstandingBill=Current outstanding bill
|
||||
# OutstandingBill=Max. for outstanding bill
|
||||
# OutstandingBillReached=Reached max. for outstanding bill
|
||||
# Monkey
|
||||
MonkeyNumRefModelDesc=عودة número مع الشكل nnnn - ٪ syymm الزبون ورمز وnnnn - ٪ syymm مورد للقانون حيث السنة هو السنة ، هو شهر ملم وnnnn هو تسلسل بلا كسر وعدم العودة إلى 0.
|
||||
# Leopard
|
||||
LeopardNumRefModelDesc=العميل / المورد مدونة مجانية. هذا القانون يمكن تعديلها في أي وقت.
|
||||
# ManagingDirectors=Manager(s) name (CEO, director, president...)
|
||||
|
||||
@ -41,16 +41,20 @@ VATToCollect=ضريبة القيمة المضافة مشتريات
|
||||
VATSummary=رصيد الضريبة على القيمة المضافة
|
||||
LT2SummaryES=IRPF الرصيد
|
||||
VATPaid=دفع ضريبة القيمة المضافة
|
||||
# SalaryPaid=Salary paid
|
||||
LT2PaidES=مدفوع IRPF
|
||||
LT2CustomerES=مبيعات IRPF
|
||||
LT2SupplierES=مشتريات IRPF
|
||||
VATCollected=جمعت ضريبة القيمة المضافة
|
||||
ToPay=دفع
|
||||
ToGet=العودة
|
||||
# SpecialExpensesArea=Area for all special paiements
|
||||
TaxAndDividendsArea=ضريبة أرباح الأسهم والمساهمات الاجتماعية ، ومنطقة
|
||||
SocialContribution=المساهمة الاجتماعية
|
||||
SocialContributions=المساهمات الاجتماعية
|
||||
# MenuSpecialExpenses=Special expenses
|
||||
MenuTaxAndDividends=الضرائب وعوائد
|
||||
# MenuSalaries=Salaries
|
||||
MenuSocialContributions=المساهمات الاجتماعية
|
||||
MenuNewSocialContribution=مساهمة جديدة
|
||||
NewSocialContribution=المساهمة الاجتماعية الجديدة
|
||||
@ -63,11 +67,14 @@ PaymentCustomerInvoice=الزبون تسديد الفاتورة
|
||||
PaymentSupplierInvoice=دفع فاتورة المورد
|
||||
PaymentSocialContribution=دفع المساهمة الاجتماعية
|
||||
PaymentVat=دفع ضريبة القيمة المضافة
|
||||
# PaymentSalary=Salary payment
|
||||
ListPayment=قائمة المدفوعات
|
||||
ListOfPayments=قائمة المدفوعات
|
||||
ListOfCustomerPayments=قائمة مدفوعات العملاء
|
||||
ListOfSupplierPayments=قائمة الموردين المدفوعات
|
||||
DatePayment=تاريخ الدفع
|
||||
# DateStartPeriod=Date start period
|
||||
# DateEndPeriod=Date end period
|
||||
NewVATPayment=دفع ضريبة القيمة المضافة الجديدة
|
||||
newLT2PaymentES=جديد IRPF دفع
|
||||
LT2PaymentES=IRPF الدفع
|
||||
|
||||
@ -23,3 +23,4 @@ GoodStatusDeclaration=وتلقى البضائع الواردة أعلاه في
|
||||
Deliverer=المنفذ :
|
||||
Sender=مرسل
|
||||
Recipient=المتلقي
|
||||
# ErrorStockIsNotEnough=There's not enough stock
|
||||
|
||||
@ -125,7 +125,7 @@ BankAccountNumber=رقم الحساب
|
||||
BankAccountNumberKey=مفتاح
|
||||
# SpecialCode=Special code
|
||||
# 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>'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days<br>'>AAAA' '>AAAAMM' '>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>'>YYYY' '>YYYYMM' '>YYYYMMDD': filters on the following years/months/days<br>'<YYYY' '<YYYYMM' '<YYYYMMDD': filters on the previous years/months/days
|
||||
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
||||
## filters
|
||||
# SelectFilterFields=If you want to filter on some values, just input values here.
|
||||
|
||||
@ -80,12 +80,12 @@ MailingStatusRead=قرأ
|
||||
# ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature
|
||||
# EMailSentToNRecipients=EMail sent to %s recipients.
|
||||
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email.
|
||||
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s)
|
||||
# SendRemind=Send remind by EMails
|
||||
# RemindSent=%S remind(s) sent
|
||||
# MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s)
|
||||
# SendRemind=Send reminder by EMails
|
||||
# RemindSent=%s reminder(s) 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
|
||||
# ResultOfMassSending=Result of mass remind sending by EMail
|
||||
# NoRemindSent=No EMail reminder sent
|
||||
# ResultOfMassSending=Result of mass EMail reminders sending
|
||||
|
||||
# Libelle des modules de liste de destinataires mailing
|
||||
MailingModuleDescContactCompanies=اتصالات لجميع الأطراف الثالثة (العملاء ، والاحتمال ، والمورد ،...)
|
||||
|
||||
@ -34,7 +34,7 @@ ErrorFailedToOpenFile=فشل في فتح الملف ٪ ق
|
||||
ErrorCanNotCreateDir=لا يمكن إنشاء دير ق
|
||||
ErrorCanNotReadDir=لا يمكن قراءة دير ق
|
||||
ErrorConstantNotDefined=معلمة ٪s ق لم تحدد
|
||||
ErrorUnknown=Unkown خطأ
|
||||
# ErrorUnknown=Unknown error
|
||||
ErrorSQL=خطأ SQL
|
||||
ErrorLogoFileNotFound=شعار ملف '٪ ق' لم يتم العثور على
|
||||
ErrorGoToGlobalSetup=اذهب إلى 'شركة / مؤسسة' الإعداد لتثبيت هذا
|
||||
@ -60,6 +60,8 @@ ErrorNoSocialContributionForSellerCountry=خطأ ، لا يوجد نوع الم
|
||||
ErrorFailedToSaveFile=خطأ ، وفشلت في انقاذ الملف.
|
||||
ErrorOnlyPngJpgSupported=خطأ فقط. بابوا نيو غينيا ، وجيه. شكل صورة ملف الدعم.
|
||||
ErrorImageFormatNotSupported=PHP الخاص بك لا يدعم وظائف لتحويل الصور من هذا الشكل.
|
||||
# SetDate=Set date
|
||||
# SelectDate=Select a date
|
||||
# SeeAlso=See also %s
|
||||
BackgroundColorByDefault=لون الخلفية الافتراضي
|
||||
FileWasNotUploaded=يتم تحديد ملف مرفق لكنه لم يكن بعد تحميلها. انقر على "ملف إرفاق" لهذا الغرض.
|
||||
@ -667,6 +669,7 @@ BySalesRepresentative=بواسطة مندوب مبيعات
|
||||
# SetDemandReason=Set source
|
||||
# ViewPrivateNote=View notes
|
||||
# XMoreLines=%s line(s) hidden
|
||||
# PublicUrl=Public URL
|
||||
|
||||
# Week day
|
||||
Monday=يوم الاثنين
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
# Dolibarr language file - Source file is en_US - opensurvey
|
||||
# Survey=Survey
|
||||
# Surveys=Surveys
|
||||
# OrganizeYourMeetingEasily=Organize your meetings and surveys easily. First select type of survey...
|
||||
# NewSurvey=New survey
|
||||
# NoSurveysInDatabase=%s survey(s) into database.
|
||||
# OpenSurveyArea=Surveys area
|
||||
# AddACommentForPoll=You can add a comment into survey...
|
||||
# Survey=Poll
|
||||
# Surveys=Polls
|
||||
# OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll...
|
||||
# NewSurvey=New poll
|
||||
# NoSurveysInDatabase=%s poll(s) into database.
|
||||
# OpenSurveyArea=Polls area
|
||||
# AddACommentForPoll=You can add a comment into poll...
|
||||
# AddComment=Add comment
|
||||
# CreatePoll=Create poll
|
||||
# PollTitle=Poll title
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# ToReceiveEMailForEachVote=Receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# 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
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
# RemoveAllHours=Remove all hours
|
||||
@ -24,10 +24,10 @@
|
||||
# CommentsOfVoters=Comments of voters
|
||||
# ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes)
|
||||
# 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:
|
||||
# CreateSurveyDate=Create a date survey
|
||||
# CreateSurveyStandard=Create a standard survey
|
||||
# CreateSurveyDate=Create a date poll
|
||||
# CreateSurveyStandard=Create a standard poll
|
||||
# CheckBox=Simple checkbox
|
||||
# YesNoList=List (empty/yes/no)
|
||||
# PourContreList=List (empty/for/against)
|
||||
@ -35,7 +35,7 @@
|
||||
# TitleChoice=Choice label
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=الحد من التاريخ
|
||||
# NbOfSurveys=Number of surveys
|
||||
# NbOfSurveys=Number of polls
|
||||
# NbOfVoters=Nb of voters
|
||||
# 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.
|
||||
|
||||
@ -22,6 +22,7 @@ Notify_WITHDRAW_CREDIT=انسحاب الائتمان
|
||||
Notify_WITHDRAW_EMIT=Isue انسحاب
|
||||
Notify_ORDER_SENTBYMAIL=النظام العميل ترسل عن طريق البريد
|
||||
Notify_COMPANY_CREATE=طرف ثالث خلق
|
||||
# Notify_COMPANY_COMPANY_SENTBYMAIL=Mails sent from third party card
|
||||
Notify_PROPAL_SENTBYMAIL=اقتراح التجارية المرسلة عن طريق البريد
|
||||
Notify_ORDER_SENTBYMAIL=النظام العميل ترسل عن طريق البريد
|
||||
Notify_BILL_PAYED=دفعت فاتورة العميل
|
||||
@ -40,6 +41,7 @@ Notify_MEMBER_VALIDATE=عضو مصدق
|
||||
Notify_MEMBER_SUBSCRIPTION=عضو المكتتب
|
||||
Notify_MEMBER_RESILIATE=عضو resiliated
|
||||
Notify_MEMBER_DELETE=عضو حذف
|
||||
# Notify_PROJECT_CREATE=Project creation
|
||||
NbOfAttachedFiles=عدد الملفات المرفقة / وثائق
|
||||
TotalSizeOfAttachedFiles=اجمالى حجم الملفات المرفقة / وثائق
|
||||
MaxSize=الحجم الأقصى
|
||||
|
||||
@ -168,7 +168,7 @@ CloneProduct=استنساخ المنتجات أو الخدمات
|
||||
ConfirmCloneProduct=هل أنت متأكد من أن المنتج أو الخدمة استنساخ <b>٪ ق؟</b>
|
||||
CloneContentProduct=استنساخ جميع المعلومات الرئيسية من المنتجات / الخدمات
|
||||
ClonePricesProduct=استنساخ الرئيسية معلومات والأسعار
|
||||
# CloneCompositionProduct=Clone product/service composition
|
||||
# CloneCompositionProduct=Clone virtual product/services
|
||||
ProductIsUsed=ويستخدم هذا المنتج
|
||||
NewRefForClone=المرجع. من المنتجات الجديدة / خدمة
|
||||
CustomerPrices=أسعار العملاء
|
||||
|
||||
@ -33,9 +33,9 @@ TimesSpent=قضى وقتا
|
||||
RefTask=المرجع. مهمة
|
||||
LabelTask=علامة مهمة
|
||||
# TaskTimeSpent=Time spent on tasks
|
||||
# TaskTimeUser=Task time user
|
||||
# TaskTimeNote=Task time note
|
||||
# TaskTimeDate=Task time date
|
||||
# TaskTimeUser=User
|
||||
# TaskTimeNote=Note
|
||||
# TaskTimeDate=Date
|
||||
NewTimeSpent=جديد الوقت الذي يقضيه
|
||||
MyTimeSpent=وقتي قضى
|
||||
MyTasks=مهمتي
|
||||
|
||||
6
htdocs/langs/ar_SA/salaries.lang
Normal file
6
htdocs/langs/ar_SA/salaries.lang
Normal 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
|
||||
@ -109,8 +109,8 @@ ParameterInDolibarr=Параметър %s
|
||||
LanguageParameter=Езиков параметър %s
|
||||
LanguageBrowserParameter=Параметър %s
|
||||
LocalisationDolibarrParameters=Локализация параметри
|
||||
# ClientTZ=Client Time Zone(user)
|
||||
# ClientHour=Client time(user)
|
||||
# ClientTZ=Client Time Zone (user)
|
||||
# ClientHour=Client time (user)
|
||||
# OSTZ=Servre OS Time Zone
|
||||
# PHPTZ=PHP server Time Zone
|
||||
PHPServerOffsetWithGreenwich=PHP сървъра компенсира широчина Гринуич (секунди)
|
||||
@ -512,8 +512,8 @@ Module50200Name= Paypal
|
||||
Module50200Desc= Модул предлага онлайн страница на плащане с кредитна карта с Paypal
|
||||
# Module54000Name=PrintIPP
|
||||
# Module54000Desc=Print via Cups IPP Printer.
|
||||
# Module55000Name=Open Survey
|
||||
# Module55000Desc=Module to make online surveys (like Doodle, Studs, Rdvz, ...)
|
||||
# Module55000Name=Open Poll
|
||||
# Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
|
||||
Module59000Name=Полета
|
||||
Module59000Desc=Модул за управление на маржовете
|
||||
Module60000Name=Комисии
|
||||
@ -732,8 +732,8 @@ Permission50101=Използвайте точка на продажбите
|
||||
Permission50201=Прочети сделки
|
||||
Permission50202=Сделки на внос
|
||||
# Permission54001=Print
|
||||
# Permission55001=Read surveys
|
||||
# Permission55002=Create/modify surveys
|
||||
# Permission55001=Read polls
|
||||
# Permission55002=Create/modify polls
|
||||
# Permission59001=Read commercial margins
|
||||
# Permission59002=Define commercial margins
|
||||
# DictionaryCompanyType=Thirdparties type
|
||||
|
||||
@ -28,6 +28,9 @@ InvoiceReplacementDesc=<b>Подмяна фактура</b> се използв
|
||||
InvoiceAvoir=Кредитно известие
|
||||
InvoiceAvoirAsk=Кредитно известие за коригиране на фактура
|
||||
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
|
||||
ReplacementInvoice=Подмяна фактура
|
||||
ReplacedByInvoice=Заменен с фактура %s
|
||||
@ -222,8 +225,6 @@ DispenseMontantLettres=Законопроектът, изготвен от ме
|
||||
NonPercuRecuperable=Невъзстановими
|
||||
SetConditions=Задайте условията за плащане
|
||||
SetMode=Задайте режим на плащане
|
||||
SetDate= Настройка на датата
|
||||
SelectDate=Изберете дата
|
||||
Billed=Таксува
|
||||
RepeatableInvoice=Предварително дефиниран фактура
|
||||
RepeatableInvoices=Предварително дефинирани фактури
|
||||
|
||||
@ -66,7 +66,7 @@ ReturnInCompany=Обратно към картата на клиента/prospe
|
||||
ContentsVisibleByAll=Съдържанието ще се вижда от всички
|
||||
ContentsVisibleByAllShort=Съдържанието е видимо от всички
|
||||
ContentsNotVisibleByAllShort=Съдържанието не е видимо от всички
|
||||
CategoriesTree=Категории дърво
|
||||
# CategoriesTree=Categories tree
|
||||
DeleteCategory=Изтриване на категория
|
||||
ConfirmDeleteCategory=Сигурни ли сте, че желаете да изтриете тази категория?
|
||||
RemoveFromCategory=Премахване на връзката с категория
|
||||
@ -105,3 +105,9 @@ CatMemberList=Списък на членовете категории
|
||||
# CatCusLinks=Links between customers/prospects and categories
|
||||
# CatSupLinks=Links between suppliers and categories
|
||||
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
|
||||
|
||||
@ -403,7 +403,6 @@ ActivityStateFilter=Състоянието на дейността
|
||||
# CurrentOutstandingBill=Current outstanding bill
|
||||
# OutstandingBill=Max. for outstanding bill
|
||||
# OutstandingBillReached=Reached max. for outstanding bill
|
||||
# Monkey
|
||||
MonkeyNumRefModelDesc=Връщане Numero с формат %syymm-NNNN за клиента код и %syymm-NNNN за доставчика код, където YY е годината, mm е месец и NNNN е последователност, без почивка и няма връщане назад до 0.
|
||||
# Leopard
|
||||
LeopardNumRefModelDesc=Кодът е безплатно. Този код може да бъде променен по всяко време.
|
||||
# ManagingDirectors=Manager(s) name (CEO, director, president...)
|
||||
|
||||
@ -41,16 +41,20 @@ VATToCollect=ДДС покупки
|
||||
VATSummary=ДДС баланс
|
||||
LT2SummaryES=IRPF баланс
|
||||
VATPaid=ДДС, платен
|
||||
# SalaryPaid=Salary paid
|
||||
LT2PaidES=IRPF платен
|
||||
LT2CustomerES=IRPF продажби
|
||||
LT2SupplierES=IRPF покупки
|
||||
VATCollected=Събраният ДДС
|
||||
ToPay=За да платите
|
||||
ToGet=За да се върнете
|
||||
# SpecialExpensesArea=Area for all special paiements
|
||||
TaxAndDividendsArea=Данъци, вноски за социално и дивиденти площ
|
||||
SocialContribution=Социален принос
|
||||
SocialContributions=Социалноосигурителни вноски
|
||||
# MenuSpecialExpenses=Special expenses
|
||||
MenuTaxAndDividends=Данъци и дивиденти
|
||||
# MenuSalaries=Salaries
|
||||
MenuSocialContributions=Социалноосигурителни вноски
|
||||
MenuNewSocialContribution=Нов принос
|
||||
NewSocialContribution=Нова социална принос
|
||||
@ -63,11 +67,14 @@ PaymentCustomerInvoice=Плащане на клиенти фактура
|
||||
PaymentSupplierInvoice=Плащане доставчик фактура
|
||||
PaymentSocialContribution=Осигурителната вноска за плащане
|
||||
PaymentVat=Плащането на ДДС
|
||||
# PaymentSalary=Salary payment
|
||||
ListPayment=Списък на плащанията
|
||||
ListOfPayments=Списък на плащанията
|
||||
ListOfCustomerPayments=Списък на клиентски плащания
|
||||
ListOfSupplierPayments=Списък на доставчика плащания
|
||||
DatePayment=Дата на плащане
|
||||
# DateStartPeriod=Date start period
|
||||
# DateEndPeriod=Date end period
|
||||
NewVATPayment=Нова плащането на ДДС
|
||||
newLT2PaymentES=Нова IRPF плащане
|
||||
LT2PaymentES=IRPF плащане
|
||||
|
||||
@ -23,3 +23,4 @@ GoodStatusDeclaration=Стоките са получили по-горе в до
|
||||
Deliverer=Избавител:
|
||||
Sender=Подател
|
||||
Recipient=Получател
|
||||
# ErrorStockIsNotEnough=There's not enough stock
|
||||
|
||||
@ -125,7 +125,7 @@ BankAccountNumber=Номер на сметка
|
||||
BankAccountNumberKey=Ключ
|
||||
# SpecialCode=Special code
|
||||
# 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>'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days<br>'>AAAA' '>AAAAMM' '>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>'>YYYY' '>YYYYMM' '>YYYYMMDD': filters on the following years/months/days<br>'<YYYY' '<YYYYMM' '<YYYYMMDD': filters on the previous years/months/days
|
||||
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
||||
## filters
|
||||
# SelectFilterFields=If you want to filter on some values, just input values here.
|
||||
|
||||
@ -80,12 +80,12 @@ ActivateCheckRead=Оставя се да се използва за четене
|
||||
ActivateCheckReadKey=Key използване за криптиране на използването на URL адрес за обратна разписка и функция unsubcribe
|
||||
# EMailSentToNRecipients=EMail sent to %s recipients.
|
||||
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email.
|
||||
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s)
|
||||
# SendRemind=Send remind by EMails
|
||||
# RemindSent=%S remind(s) sent
|
||||
# MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s)
|
||||
# SendRemind=Send reminder by EMails
|
||||
# RemindSent=%s reminder(s) 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
|
||||
# ResultOfMassSending=Result of mass remind sending by EMail
|
||||
# NoRemindSent=No EMail reminder sent
|
||||
# ResultOfMassSending=Result of mass EMail reminders sending
|
||||
|
||||
# Libelle des modules de liste de destinataires mailing
|
||||
MailingModuleDescContactCompanies=Контакти на всички трети лица (клиенти, перспектива, доставчици, ...)
|
||||
|
||||
@ -34,7 +34,7 @@ ErrorFailedToOpenFile=Файла %s не може да се отвори
|
||||
ErrorCanNotCreateDir=Не може да се създаде папка %s
|
||||
ErrorCanNotReadDir=Не може да се прочете директорията %s
|
||||
ErrorConstantNotDefined=Параметъра %s не е дефиниран
|
||||
ErrorUnknown=Непозната грешка
|
||||
# ErrorUnknown=Unknown error
|
||||
ErrorSQL=SQL грешка
|
||||
ErrorLogoFileNotFound=Файла '%s' с логото не е открит
|
||||
ErrorGoToGlobalSetup=Отидете на настройките 'Фирма/Организация' за да настроите параметъра
|
||||
@ -60,6 +60,8 @@ ErrorNoSocialContributionForSellerCountry=Грешка, не е социален
|
||||
ErrorFailedToSaveFile=Грешка, файла не е записан.
|
||||
ErrorOnlyPngJpgSupported=Грешка, поддържат се само PNG и JPG формати на изображението.
|
||||
ErrorImageFormatNotSupported=Вашият PHP не поддържа функции за конвертиране на изображения от този формат.
|
||||
# SetDate=Set date
|
||||
# SelectDate=Select a date
|
||||
SeeAlso=Вижте също %s
|
||||
BackgroundColorByDefault=Подразбиращ се цвят на фона
|
||||
FileWasNotUploaded=Файлът е избран за прикачане, но все още не е качен. Кликнете върху "Прикачи файл".
|
||||
@ -667,6 +669,7 @@ OriginFileName=Оригинално име на файла
|
||||
# SetDemandReason=Set source
|
||||
# ViewPrivateNote=View notes
|
||||
# XMoreLines=%s line(s) hidden
|
||||
# PublicUrl=Public URL
|
||||
|
||||
# Week day
|
||||
Monday=Понеделник
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
# Dolibarr language file - Source file is en_US - opensurvey
|
||||
Survey=Проучване
|
||||
Surveys=Проучвания
|
||||
OrganizeYourMeetingEasily=Организиране на вашите срещи и проучвания лесно. Първо изберете типа на проучване ...
|
||||
NewSurvey=Ново проучване
|
||||
NoSurveysInDatabase=Има %s проучване(ия) в базата данни.
|
||||
OpenSurveyArea=Проучвания
|
||||
AddACommentForPoll=Можете да добавите коментар на проучването ...
|
||||
# Survey=Poll
|
||||
# Surveys=Polls
|
||||
# OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll...
|
||||
# NewSurvey=New poll
|
||||
# NoSurveysInDatabase=%s poll(s) into database.
|
||||
# OpenSurveyArea=Polls area
|
||||
# AddACommentForPoll=You can add a comment into poll...
|
||||
AddComment=Добавяне на коментар
|
||||
CreatePoll=Създаване на анкета
|
||||
PollTitle=Тема на анкетата
|
||||
ToReceiveEMailForEachVote=Получаване на е-маил за всеки глас
|
||||
# ToReceiveEMailForEachVote=Receive an email for each vote
|
||||
TypeDate=Дата
|
||||
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=Премахване на всички дни
|
||||
CopyHoursOfFirstDay=Копиране на часовете от първия ден
|
||||
RemoveAllHours=Премахване на всички часове
|
||||
@ -24,10 +24,10 @@ with=с
|
||||
CommentsOfVoters=Коментари на гласувалите
|
||||
ConfirmRemovalOfPoll=Сигурни ли сте, че желаете да премахнете анкетата (и всички гласове)
|
||||
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:
|
||||
CreateSurveyDate=Създаване на проучване със срок
|
||||
CreateSurveyStandard=Създаване на стандартно проучване
|
||||
# CreateSurveyDate=Create a date poll
|
||||
# CreateSurveyStandard=Create a standard poll
|
||||
CheckBox=Отметка
|
||||
YesNoList=Списък (празно/да/не)
|
||||
PourContreList=Списък (празно/за/против)
|
||||
@ -35,7 +35,7 @@ AddNewColumn=Добавяне на нова колона
|
||||
TitleChoice=Избор на етикет
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Крайната дата
|
||||
# NbOfSurveys=Number of surveys
|
||||
# NbOfSurveys=Number of polls
|
||||
NbOfVoters=Брой гласове
|
||||
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.
|
||||
|
||||
@ -22,6 +22,7 @@ Notify_WITHDRAW_CREDIT=Оттегляне на кредитирането
|
||||
Notify_WITHDRAW_EMIT=Извършване на оттегляне
|
||||
Notify_ORDER_SENTBYMAIL=Поръчка на клиента, изпратено по пощата
|
||||
Notify_COMPANY_CREATE=Третата страна е създадена
|
||||
# Notify_COMPANY_COMPANY_SENTBYMAIL=Mails sent from third party card
|
||||
Notify_PROPAL_SENTBYMAIL=Търговско предложение, изпратено по пощата
|
||||
Notify_ORDER_SENTBYMAIL=Поръчка на клиента, изпратено по пощата
|
||||
Notify_BILL_PAYED=Фактурата на клиента е платена
|
||||
@ -40,6 +41,7 @@ Notify_MEMBER_VALIDATE=Члена е приет
|
||||
Notify_MEMBER_SUBSCRIPTION=Члена е subscribed
|
||||
Notify_MEMBER_RESILIATE=Члена е изключен
|
||||
Notify_MEMBER_DELETE=Члена е изтрит
|
||||
# Notify_PROJECT_CREATE=Project creation
|
||||
NbOfAttachedFiles=Брой на прикачените файлове/документи
|
||||
TotalSizeOfAttachedFiles=Общ размер на прикачените файлове/документи
|
||||
MaxSize=Максимален размер
|
||||
|
||||
@ -168,7 +168,7 @@ CloneProduct=Клониране на продукт или услуга
|
||||
ConfirmCloneProduct=Сигурни ли сте, че желаете да клонирате продукта или услугата <b>%s?</b>?
|
||||
CloneContentProduct=Клониране на всички основни данни за продукта/услугата
|
||||
ClonePricesProduct=Клониране на основните данни и цени
|
||||
# CloneCompositionProduct=Clone product/service composition
|
||||
# CloneCompositionProduct=Clone virtual product/services
|
||||
ProductIsUsed=Този продукт е използван
|
||||
NewRefForClone=Реф. на нов продукт/услуга
|
||||
CustomerPrices=Цени за клиенти
|
||||
|
||||
@ -33,9 +33,9 @@ TimesSpent=Времето, прекарано
|
||||
RefTask=Реф. задача
|
||||
LabelTask=Label задача
|
||||
# TaskTimeSpent=Time spent on tasks
|
||||
# TaskTimeUser=Task time user
|
||||
# TaskTimeNote=Task time note
|
||||
# TaskTimeDate=Task time date
|
||||
# TaskTimeUser=User
|
||||
# TaskTimeNote=Note
|
||||
# TaskTimeDate=Date
|
||||
NewTimeSpent=Времето, прекарано на
|
||||
MyTimeSpent=Времето, прекарано
|
||||
MyTasks=Моите задачи
|
||||
|
||||
6
htdocs/langs/bg_BG/salaries.lang
Normal file
6
htdocs/langs/bg_BG/salaries.lang
Normal 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
|
||||
@ -109,8 +109,8 @@ OtherSetup=Ostale postavke
|
||||
# LanguageParameter=Language parameter %s
|
||||
# LanguageBrowserParameter=Parameter %s
|
||||
# LocalisationDolibarrParameters=Localisation parameters
|
||||
# ClientTZ=Client Time Zone(user)
|
||||
# ClientHour=Client time(user)
|
||||
# ClientTZ=Client Time Zone (user)
|
||||
# ClientHour=Client time (user)
|
||||
# OSTZ=Servre OS Time Zone
|
||||
# PHPTZ=PHP server Time Zone
|
||||
# PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds)
|
||||
@ -512,8 +512,8 @@ Module6000Desc=Upravljanje workflow-om - tokom rada
|
||||
# Module50200Desc= Module to offer an online payment page by credit card with Paypal
|
||||
Module54000Name=PrintIPP
|
||||
Module54000Desc=Print preko Cups IPP Printer.
|
||||
Module55000Name=Otvoriti anketu
|
||||
Module55000Desc=Modul za kreiranje online anketa (kao Doodle, Studs, Rdvz, ...)
|
||||
# Module55000Name=Open Poll
|
||||
# Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
|
||||
# Module59000Name=Margins
|
||||
# Module59000Desc=Module to manage margins
|
||||
# Module60000Name=Commissions
|
||||
@ -732,8 +732,8 @@ Permission2515=Postavke direktorija za dokumente
|
||||
# Permission50201=Read transactions
|
||||
# Permission50202=Import transactions
|
||||
Permission54001=Print
|
||||
Permission55001=Pročitajte ankete
|
||||
Permission55002=Napravi/izmijeni ankete
|
||||
# Permission55001=Read polls
|
||||
# Permission55002=Create/modify polls
|
||||
Permission59001=Pročitajte komercijalne margine
|
||||
Permission59002=Definirajte komercijalne margine
|
||||
# DictionaryCompanyType=Thirdparties type
|
||||
|
||||
@ -28,6 +28,9 @@ InvoiceReplacementAsk=Zamjenska faktura za fakturu
|
||||
# InvoiceAvoir=Credit note
|
||||
# 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).
|
||||
# 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
|
||||
ReplacementInvoice=Zamjenska faktura
|
||||
ReplacedByInvoice=Zamijenjeno sa fakturom %s
|
||||
@ -222,8 +225,6 @@ CustomerBillsUnpaid=NEplaćene fakture kupaca
|
||||
NonPercuRecuperable=Nepovratno
|
||||
SetConditions=Postaviti uslova plaćanja
|
||||
SetMode=Postaviti način plaćanja
|
||||
SetDate= Postavi datum
|
||||
SelectDate=Odaberi datum
|
||||
Billed=Fakturisano
|
||||
RepeatableInvoice=Predefinisana faktura
|
||||
RepeatableInvoices=Predefinisane fakture
|
||||
|
||||
@ -66,7 +66,7 @@ ReturnInSupplier=Nazad na karticu dobavljača
|
||||
ContentsVisibleByAll=Sadržaj će biti vidljiv svima
|
||||
ContentsVisibleByAllShort=Sadržaj vidljiv svima
|
||||
ContentsNotVisibleByAllShort=Sadržaj nije vidljiv svima
|
||||
CategoriesTree=Stablo kategorija
|
||||
# CategoriesTree=Categories tree
|
||||
DeleteCategory=Obriši kategoriju
|
||||
ConfirmDeleteCategory=Jeste li sigurni da želite obrisati ovu kategoriju?
|
||||
RemoveFromCategory=Uklonite vezu sa kategorijom
|
||||
@ -105,3 +105,9 @@ CatProdLinks=Veze između proizvoda/usluga i kategorija
|
||||
# CatCusLinks=Links between customers/prospects and categories
|
||||
CatSupLinks=Veze između dobavljača i kategorija
|
||||
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
|
||||
|
||||
@ -403,7 +403,6 @@ ProductsIntoElements=Lista informacija o proizvodu
|
||||
CurrentOutstandingBill=Trenutni neplaćeni račun
|
||||
OutstandingBill=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.
|
||||
# Leopard
|
||||
LeopardNumRefModelDesc=Ova šifra je slobodna. Ova šifra se može mijenjati bilo kad.
|
||||
# ManagingDirectors=Manager(s) name (CEO, director, president...)
|
||||
|
||||
@ -41,16 +41,20 @@ Accounts=Računi
|
||||
# VATSummary=VAT Balance
|
||||
# LT2SummaryES=IRPF Balance
|
||||
# VATPaid=VAT paid
|
||||
# SalaryPaid=Salary paid
|
||||
# LT2PaidES=IRPF Paid
|
||||
# LT2CustomerES=IRPF sales
|
||||
# LT2SupplierES=IRPF purchases
|
||||
# VATCollected=VAT collected
|
||||
# ToPay=To pay
|
||||
# ToGet=To get back
|
||||
# SpecialExpensesArea=Area for all special paiements
|
||||
# TaxAndDividendsArea=Tax, social contributions and dividends area
|
||||
# SocialContribution=Social contribution
|
||||
# SocialContributions=Social contributions
|
||||
# MenuSpecialExpenses=Special expenses
|
||||
# MenuTaxAndDividends=Taxes and dividends
|
||||
# MenuSalaries=Salaries
|
||||
# MenuSocialContributions=Social contributions
|
||||
# MenuNewSocialContribution=New contribution
|
||||
# NewSocialContribution=New social contribution
|
||||
@ -63,11 +67,14 @@ Accounts=Računi
|
||||
# PaymentSupplierInvoice=Supplier invoice payment
|
||||
# PaymentSocialContribution=Social contribution payment
|
||||
# PaymentVat=VAT payment
|
||||
# PaymentSalary=Salary payment
|
||||
# ListPayment=List of payments
|
||||
# ListOfPayments=List of payments
|
||||
# ListOfCustomerPayments=List of customer payments
|
||||
# ListOfSupplierPayments=List of supplier payments
|
||||
# DatePayment=Payment date
|
||||
# DateStartPeriod=Date start period
|
||||
# DateEndPeriod=Date end period
|
||||
# NewVATPayment=New VAT payment
|
||||
# newLT2PaymentES=New IRPF payment
|
||||
# LT2PaymentES=IRPF Payment
|
||||
|
||||
@ -23,3 +23,4 @@ GoodStatusDeclaration=Primio sam robu navedenu gore u dobrom stanju.
|
||||
Deliverer=Dostavljač:
|
||||
Sender=Pošiljalac
|
||||
Recipient=Primalac
|
||||
# ErrorStockIsNotEnough=There's not enough stock
|
||||
|
||||
@ -125,7 +125,7 @@
|
||||
# BankAccountNumberKey=Key
|
||||
# SpecialCode=Special code
|
||||
# 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>'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days<br>'>AAAA' '>AAAAMM' '>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>'>YYYY' '>YYYYMM' '>YYYYMMDD': filters on the following years/months/days<br>'<YYYY' '<YYYYMM' '<YYYYMMDD': filters on the previous years/months/days
|
||||
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
||||
## filters
|
||||
# SelectFilterFields=If you want to filter on some values, just input values here.
|
||||
|
||||
@ -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
|
||||
EMailSentToNRecipients=E-pošta poslana %s primaocima
|
||||
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email.
|
||||
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s)
|
||||
# SendRemind=Send remind by EMails
|
||||
# RemindSent=%S remind(s) sent
|
||||
# MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s)
|
||||
# SendRemind=Send reminder by EMails
|
||||
# RemindSent=%s reminder(s) 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
|
||||
# ResultOfMassSending=Result of mass remind sending by EMail
|
||||
# NoRemindSent=No EMail reminder sent
|
||||
# ResultOfMassSending=Result of mass EMail reminders sending
|
||||
|
||||
# Libelle des modules de liste de destinataires mailing
|
||||
MailingModuleDescContactCompanies=Kontakti/Adrese za subjekte (kupac, mogući klijent, dobavljač, ...)
|
||||
|
||||
@ -34,7 +34,7 @@ SeparatorThousand=None
|
||||
# ErrorCanNotCreateDir=Can not create dir %s
|
||||
# ErrorCanNotReadDir=Can not read dir %s
|
||||
# ErrorConstantNotDefined=Parameter %s not defined
|
||||
# ErrorUnknown=Unkown error
|
||||
# ErrorUnknown=Unknown error
|
||||
# ErrorSQL=SQL Error
|
||||
# ErrorLogoFileNotFound=Logo file '%s' was not found
|
||||
# ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this
|
||||
@ -60,6 +60,8 @@ SeparatorThousand=None
|
||||
# ErrorFailedToSaveFile=Error, failed to save file.
|
||||
# ErrorOnlyPngJpgSupported=Error, only .png and .jpg image format file are supported.
|
||||
# ErrorImageFormatNotSupported=Your PHP does not support functions to convert images of this format.
|
||||
# SetDate=Set date
|
||||
# SelectDate=Select a date
|
||||
# SeeAlso=See also %s
|
||||
# BackgroundColorByDefault=Default background color
|
||||
# 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
|
||||
# ViewPrivateNote=View notes
|
||||
# XMoreLines=%s line(s) hidden
|
||||
# PublicUrl=Public URL
|
||||
|
||||
# Week day
|
||||
# Monday=Monday
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
# Dolibarr language file - Source file is en_US - opensurvey
|
||||
# Survey=Survey
|
||||
# Surveys=Surveys
|
||||
# OrganizeYourMeetingEasily=Organize your meetings and surveys easily. First select type of survey...
|
||||
# NewSurvey=New survey
|
||||
# NoSurveysInDatabase=%s survey(s) into database.
|
||||
# OpenSurveyArea=Surveys area
|
||||
# AddACommentForPoll=You can add a comment into survey...
|
||||
# Survey=Poll
|
||||
# Surveys=Polls
|
||||
# OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll...
|
||||
# NewSurvey=New poll
|
||||
# NoSurveysInDatabase=%s poll(s) into database.
|
||||
# OpenSurveyArea=Polls area
|
||||
# AddACommentForPoll=You can add a comment into poll...
|
||||
# AddComment=Add comment
|
||||
# CreatePoll=Create poll
|
||||
# PollTitle=Poll title
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# ToReceiveEMailForEachVote=Receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# 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
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
# RemoveAllHours=Remove all hours
|
||||
@ -24,10 +24,10 @@
|
||||
# CommentsOfVoters=Comments of voters
|
||||
# ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes)
|
||||
# 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:
|
||||
# CreateSurveyDate=Create a date survey
|
||||
# CreateSurveyStandard=Create a standard survey
|
||||
# CreateSurveyDate=Create a date poll
|
||||
# CreateSurveyStandard=Create a standard poll
|
||||
# CheckBox=Simple checkbox
|
||||
# YesNoList=List (empty/yes/no)
|
||||
# PourContreList=List (empty/for/against)
|
||||
@ -35,7 +35,7 @@
|
||||
# TitleChoice=Choice label
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
# ExpireDate=Limit date
|
||||
# NbOfSurveys=Number of surveys
|
||||
# NbOfSurveys=Number of polls
|
||||
# NbOfVoters=Nb of voters
|
||||
# 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.
|
||||
|
||||
@ -22,6 +22,7 @@
|
||||
# Notify_WITHDRAW_EMIT=Perform withdrawal
|
||||
# Notify_ORDER_SENTBYMAIL=Customer order sent by mail
|
||||
# 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_ORDER_SENTBYMAIL=Customer order sent by mail
|
||||
# Notify_BILL_PAYED=Customer invoice payed
|
||||
@ -40,6 +41,7 @@
|
||||
# Notify_MEMBER_SUBSCRIPTION=Member subscribed
|
||||
# Notify_MEMBER_RESILIATE=Member resiliated
|
||||
# Notify_MEMBER_DELETE=Member deleted
|
||||
# Notify_PROJECT_CREATE=Project creation
|
||||
# NbOfAttachedFiles=Number of attached files/documents
|
||||
# TotalSizeOfAttachedFiles=Total size of attached files/documents
|
||||
# MaxSize=Maximum size
|
||||
|
||||
@ -1,36 +1,36 @@
|
||||
# Dolibarr language file - Source file is en_US - products
|
||||
# ProductRef=Product ref.
|
||||
# ProductLabel=Product label
|
||||
# ProductServiceCard=Products/Services card
|
||||
# Products=Products
|
||||
# Services=Services
|
||||
# Product=Product
|
||||
# Service=Service
|
||||
# ProductId=Product/service id
|
||||
# Create=Create
|
||||
# Reference=Reference
|
||||
# NewProduct=New product
|
||||
# NewService=New service
|
||||
# ProductCode=Product code
|
||||
# ServiceCode=Service code
|
||||
ProductRef=Ref. proizvoda
|
||||
ProductLabel=Oznaka proizvoda
|
||||
ProductServiceCard=Kartica proizvoda/usluge
|
||||
Products=Proizvodi
|
||||
Services=Usluge
|
||||
Product=Proizvod
|
||||
Service=Usluga
|
||||
ProductId=ID proizvoda/usluge
|
||||
Create=Kreiraj
|
||||
Reference=Referenca
|
||||
NewProduct=Novi proizvod
|
||||
NewService=Nova usluga
|
||||
ProductCode=Šifra proizvoda
|
||||
ServiceCode=Šifra usluge
|
||||
# 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.
|
||||
# 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.
|
||||
# ProductAccountancyBuyCode=Accountancy code (buy)
|
||||
# ProductAccountancySellCode=Accountancy code (sell)
|
||||
# ProductOrService=Product or Service
|
||||
# ProductsAndServices=Products and Services
|
||||
# ProductsOrServices=Products or Services
|
||||
# ProductsAndServicesOnSell=Available Products and Services
|
||||
# ProductsAndServicesNotOnSell=Obsolete Products and Services
|
||||
# ProductsAndServicesStatistics=Products and Services statistics
|
||||
# ProductsStatistics=Products statistics
|
||||
# ProductsOnSell=Available products
|
||||
# ProductsNotOnSell=Obsolete products
|
||||
# ServicesOnSell=Available services
|
||||
# ServicesNotOnSell=Obsolete services
|
||||
# InternalRef=Internal reference
|
||||
ProductAccountancyBuyCode=Šifra računovodstva (kupovanje)
|
||||
ProductAccountancySellCode=Šifra računovodstva (prodaja)
|
||||
ProductOrService=Proizvod ili usluga
|
||||
ProductsAndServices=Proizvodi i usluge
|
||||
ProductsOrServices=Proizvodi ili usluge
|
||||
ProductsAndServicesOnSell=Dostupni proizvodi i usluge
|
||||
ProductsAndServicesNotOnSell=Zastarjeli proizvodi i usluge
|
||||
ProductsAndServicesStatistics=Statistika proizvoda i usluga
|
||||
ProductsStatistics=Statistika proizvoda
|
||||
ProductsOnSell=Dostupni proizvodi
|
||||
ProductsNotOnSell=Zastarjeli proizvodi
|
||||
ServicesOnSell=Dostupne usluge
|
||||
ServicesNotOnSell=Zastarjele usluge
|
||||
InternalRef=Interna referenca
|
||||
# LastRecorded=Last products/services on sell recorded
|
||||
# LastRecordedProductsAndServices=Last %s recorded 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> ?
|
||||
# CloneContentProduct=Clone all main informations of product/service
|
||||
# ClonePricesProduct=Clone main informations and prices
|
||||
# CloneCompositionProduct=Clone product/service composition
|
||||
# CloneCompositionProduct=Clone virtual product/services
|
||||
# ProductIsUsed=This product is used
|
||||
# NewRefForClone=Ref. of new product/service
|
||||
# CustomerPrices=Customers prices
|
||||
|
||||
@ -33,9 +33,9 @@ TimesSpent=Vrijeme provedeno
|
||||
RefTask=Ref. zadatka
|
||||
LabelTask=Oznaka zadatka
|
||||
# TaskTimeSpent=Time spent on tasks
|
||||
# TaskTimeUser=Task time user
|
||||
# TaskTimeNote=Task time note
|
||||
# TaskTimeDate=Task time date
|
||||
# TaskTimeUser=User
|
||||
# TaskTimeNote=Note
|
||||
# TaskTimeDate=Date
|
||||
NewTimeSpent=Nova provedeno vrijeme
|
||||
MyTimeSpent=Moje provedeno vrijeme
|
||||
MyTasks=Moji zadaci
|
||||
|
||||
6
htdocs/langs/bs_BA/salaries.lang
Normal file
6
htdocs/langs/bs_BA/salaries.lang
Normal 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
|
||||
@ -109,8 +109,8 @@ ParameterInDolibarr=Variable %s
|
||||
LanguageParameter=Variable idioma %s
|
||||
LanguageBrowserParameter=Variable %s
|
||||
LocalisationDolibarrParameters=Paràmetres de localització
|
||||
ClientTZ=Zona horària client (usuari)
|
||||
ClientHour=Hora client (usuari)
|
||||
# ClientTZ=Client Time Zone (user)
|
||||
# ClientHour=Client time (user)
|
||||
OSTZ=Zona horària Servidor SO
|
||||
PHPTZ=Zona horària Servidor PHP
|
||||
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
|
||||
# Module54000Name=PrintIPP
|
||||
# Module54000Desc=Print via Cups IPP Printer.
|
||||
# Module55000Name=Open Survey
|
||||
# Module55000Desc=Module to make online surveys (like Doodle, Studs, Rdvz, ...)
|
||||
# Module55000Name=Open Poll
|
||||
# Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
|
||||
Module59000Name=Márgenes
|
||||
Module59000Desc=Mòdul per gestionar els marges de benefici
|
||||
Module60000Name=Comissions
|
||||
@ -732,8 +732,8 @@ Permission50101=Utilitzar TPV
|
||||
Permission50201=Consultar les transaccions
|
||||
Permission50202=Importar les transaccions
|
||||
# Permission54001=Print
|
||||
# Permission55001=Read surveys
|
||||
# Permission55002=Create/modify surveys
|
||||
# Permission55001=Read polls
|
||||
# Permission55002=Create/modify polls
|
||||
# Permission59001=Read commercial margins
|
||||
# Permission59002=Define commercial margins
|
||||
# DictionaryCompanyType=Thirdparties type
|
||||
|
||||
@ -28,6 +28,9 @@ InvoiceReplacementDesc=La <b>factura rectificativa</ b> serveix per a cancel·la
|
||||
InvoiceAvoir=Abonament
|
||||
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).
|
||||
# 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
|
||||
ReplacementInvoice=Rectificació factura
|
||||
ReplacedByInvoice=Rectificada per la factura %s
|
||||
@ -222,8 +225,6 @@ DispenseMontantLettres=Les factures redactactades per processos mecànics estan
|
||||
NonPercuRecuperable=No percebut recuperable
|
||||
SetConditions=Definir condicions de pagament
|
||||
SetMode=Definir mode de pagament
|
||||
SetDate= Definir data
|
||||
SelectDate=Seleccioneu una data
|
||||
Billed=Facturat
|
||||
RepeatableInvoice=Factura recurrent
|
||||
RepeatableInvoices=Factures recurrents
|
||||
|
||||
@ -66,7 +66,7 @@ ReturnInCompany=Tornar a la fitxa client/client potencial
|
||||
ContentsVisibleByAll=El contingut serà visible per tots
|
||||
ContentsVisibleByAllShort=Contingut visible per tots
|
||||
ContentsNotVisibleByAllShort=Contingut no visible per tots
|
||||
CategoriesTree=Arbre de categories
|
||||
# CategoriesTree=Categories tree
|
||||
DeleteCategory=Eliminar categoria
|
||||
ConfirmDeleteCategory=Esteu segur de voler eliminar aquesta categoria?
|
||||
RemoveFromCategory=Suprimir l'enllaç amb categoria
|
||||
@ -105,3 +105,9 @@ CatProdLinks=Productes
|
||||
CatCusLinks=Clients/Clients potencials
|
||||
CatSupLinks=Proveïdors
|
||||
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
|
||||
|
||||
@ -403,7 +403,6 @@ ProductsIntoElements=Llistat de productes en %s
|
||||
# CurrentOutstandingBill=Current outstanding bill
|
||||
# OutstandingBill=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.
|
||||
# Leopard
|
||||
LeopardNumRefModelDesc=Codi de client/proveïdor lliure sense verificació. Pot ser modificat en qualsevol moment.
|
||||
# ManagingDirectors=Manager(s) name (CEO, director, president...)
|
||||
|
||||
@ -41,16 +41,20 @@ VATToCollect=IVA compres
|
||||
VATSummary=Balanç d'IVA
|
||||
LT2SummaryES=Balanç d'IRPF
|
||||
VATPaid=IVA Pagat
|
||||
# SalaryPaid=Salary paid
|
||||
LT2PaidES=IRPF Pagat
|
||||
LT2CustomerES=IRPF Vendes
|
||||
LT2SupplierES=IRPF compres
|
||||
VATCollected=IVA recuperat
|
||||
ToPay=A pagar
|
||||
ToGet=A tornar
|
||||
# SpecialExpensesArea=Area for all special paiements
|
||||
TaxAndDividendsArea=Àrea impostos, càrregues socials i dividends
|
||||
SocialContribution=Càrrega social
|
||||
SocialContributions=Càrregues socials
|
||||
# MenuSpecialExpenses=Special expenses
|
||||
MenuTaxAndDividends=Impostos i càrregues
|
||||
# MenuSalaries=Salaries
|
||||
MenuSocialContributions=Càrregues socials
|
||||
MenuNewSocialContribution=Nova càrrega
|
||||
NewSocialContribution=Nova càrrega social
|
||||
@ -63,11 +67,14 @@ PaymentCustomerInvoice=Cobrament factura a client
|
||||
PaymentSupplierInvoice=Pagament factura de proveïdor
|
||||
PaymentSocialContribution=Pagament càrrega social
|
||||
PaymentVat=Pagament IVA
|
||||
# PaymentSalary=Salary payment
|
||||
ListPayment=Llistat de pagaments
|
||||
ListOfPayments=Llistat de pagaments
|
||||
ListOfCustomerPayments=Llistat de pagaments de clients
|
||||
ListOfSupplierPayments=Llistat de pagaments a proveïdors
|
||||
DatePayment=Data de pagament
|
||||
# DateStartPeriod=Date start period
|
||||
# DateEndPeriod=Date end period
|
||||
NewVATPayment=Nou pagament d'IVA
|
||||
newLT2PaymentES=Nou pagament d'IRPF
|
||||
LT2PaymentES=Pagament IRPF
|
||||
|
||||
@ -23,3 +23,4 @@ GoodStatusDeclaration=He rebut la mercaderia en bon estat,
|
||||
Deliverer=Destinatari :
|
||||
Sender=Orige
|
||||
Recipient=Destinatari
|
||||
# ErrorStockIsNotEnough=There's not enough stock
|
||||
|
||||
@ -125,7 +125,7 @@ BankAccountNumber=Número compte
|
||||
BankAccountNumberKey=Dígit Control
|
||||
# SpecialCode=Special code
|
||||
# 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>'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days<br>'>AAAA' '>AAAAMM' '>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>'>YYYY' '>YYYYMM' '>YYYYMMDD': filters on the following years/months/days<br>'<YYYY' '<YYYYMM' '<YYYYMMDD': filters on the previous years/months/days
|
||||
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
||||
## filters
|
||||
SelectFilterFields=Si vol aplicar un filtre sobre alguns valors, introduïu-los aquí.
|
||||
|
||||
@ -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ó
|
||||
EMailSentToNRecipients=E-Mail enviat a %s destinataris.
|
||||
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email.
|
||||
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s)
|
||||
# SendRemind=Send remind by EMails
|
||||
# RemindSent=%S remind(s) sent
|
||||
# MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s)
|
||||
# SendRemind=Send reminder by EMails
|
||||
# RemindSent=%s reminder(s) 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
|
||||
# ResultOfMassSending=Result of mass remind sending by EMail
|
||||
# NoRemindSent=No EMail reminder sent
|
||||
# ResultOfMassSending=Result of mass EMail reminders sending
|
||||
|
||||
# Libelle des modules de liste de destinataires mailing
|
||||
MailingModuleDescContactCompanies=Contactes de tercers (clients potencials, clients, proveïdors ...)
|
||||
|
||||
@ -7,7 +7,7 @@ DIRECTION=ltr
|
||||
FONTFORPDF=helvetica
|
||||
FONTSIZEFORPDF=10
|
||||
SeparatorDecimal=,
|
||||
SeparatorThousand=
|
||||
SeparatorThousand=None
|
||||
FormatDateShort=%d/%m/%Y
|
||||
FormatDateShortInput=%d/%m/%Y
|
||||
FormatDateShortJava=dd/MM/yyyy
|
||||
@ -34,7 +34,7 @@ ErrorFailedToOpenFile=Impossible obrir el fitxer %s
|
||||
ErrorCanNotCreateDir=Impossible crear la carpeta %s
|
||||
ErrorCanNotReadDir=Impossible llegir la carpeta %s
|
||||
ErrorConstantNotDefined=Parámetre %s no definit
|
||||
ErrorUnknown=Error desconegut
|
||||
# ErrorUnknown=Unknown error
|
||||
ErrorSQL=Error de SQL
|
||||
ErrorLogoFileNotFound=El arxiu logo '%s' no es troba
|
||||
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.
|
||||
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.
|
||||
# SetDate=Set date
|
||||
# SelectDate=Select a date
|
||||
SeeAlso=Veure també %s
|
||||
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ò.
|
||||
@ -667,6 +669,7 @@ toward=cap a
|
||||
# SetDemandReason=Set source
|
||||
# ViewPrivateNote=View notes
|
||||
# XMoreLines=%s line(s) hidden
|
||||
# PublicUrl=Public URL
|
||||
|
||||
# Week day
|
||||
Monday=Dilluns
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
# Dolibarr language file - Source file is en_US - opensurvey
|
||||
Survey=Enquesta
|
||||
Surveys=Enquestes
|
||||
OrganizeYourMeetingEasily=Organitzi les seves reunions i enquestes de forma fàcil. Primer, seleccioneu el tipus d'enquesta ...
|
||||
NewSurvey=Nova enquesta
|
||||
NoSurveysInDatabase=%s enquesta(es) a la base de dades.
|
||||
OpenSurveyArea=Àrea d'enquestes
|
||||
AddACommentForPoll=Podeu afegir un comentari a l'enquesta...
|
||||
# Survey=Poll
|
||||
# Surveys=Polls
|
||||
# OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll...
|
||||
# NewSurvey=New poll
|
||||
# NoSurveysInDatabase=%s poll(s) into database.
|
||||
# OpenSurveyArea=Polls area
|
||||
# AddACommentForPoll=You can add a comment into poll...
|
||||
AddComment=Afegir comentari
|
||||
CreatePoll=Crear 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
|
||||
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
|
||||
CopyHoursOfFirstDay=Copia hores del primer dia
|
||||
RemoveAllHours=Eliminar totes les hores
|
||||
@ -24,10 +24,10 @@ with=amb
|
||||
CommentsOfVoters=Comentaris dels votants
|
||||
ConfirmRemovalOfPoll=Està segur que desitja eliminar aquesta enquesta (i tots els vots)
|
||||
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:
|
||||
CreateSurveyDate=Crear una enquesta
|
||||
CreateSurveyStandard=Crear una enquesta estàndard
|
||||
# CreateSurveyDate=Create a date poll
|
||||
# CreateSurveyStandard=Create a standard poll
|
||||
CheckBox=Checkbox simple
|
||||
YesNoList=Llista (buit/sí/no)
|
||||
PourContreList=Llista (buit/a favor/en contra)
|
||||
@ -35,7 +35,7 @@ AddNewColumn=Afegir nova columna
|
||||
TitleChoice=Títol de l'opció
|
||||
ExportSpreadsheet=Exportar resultats a un full de càlcul
|
||||
ExpireDate=Data límit
|
||||
# NbOfSurveys=Number of surveys
|
||||
# NbOfSurveys=Number of polls
|
||||
NbOfVoters=Núm. de votants
|
||||
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.
|
||||
|
||||
@ -22,6 +22,7 @@ Notify_WITHDRAW_CREDIT=Abonament domiciliació
|
||||
Notify_WITHDRAW_EMIT=Emissió domiciliació
|
||||
Notify_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail
|
||||
Notify_COMPANY_CREATE=Creació tercer
|
||||
# Notify_COMPANY_COMPANY_SENTBYMAIL=Mails sent from third party card
|
||||
Notify_PROPAL_SENTBYMAIL=Enviament pressupost per e-mail
|
||||
Notify_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail
|
||||
Notify_BILL_PAYED=Cobrament factura a client
|
||||
@ -40,6 +41,7 @@ Notify_MEMBER_VALIDATE=Validació membre
|
||||
Notify_MEMBER_SUBSCRIPTION=Afiliació membre
|
||||
Notify_MEMBER_RESILIATE=Baixa membre
|
||||
Notify_MEMBER_DELETE=Eliminació membre
|
||||
# Notify_PROJECT_CREATE=Project creation
|
||||
NbOfAttachedFiles=Número arxius/documents adjunts
|
||||
TotalSizeOfAttachedFiles=Mida total dels arxius/documents adjunts
|
||||
MaxSize=Tamany màxim
|
||||
|
||||
@ -168,7 +168,7 @@ CloneProduct=Clonar producte/servei
|
||||
ConfirmCloneProduct=Esteu segur de voler clonar el producte o servei <b>%s</b> ?
|
||||
CloneContentProduct=Clonar només la informació general del producte/servei
|
||||
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
|
||||
NewRefForClone=Ref. del nou producte/servei
|
||||
CustomerPrices=Preus clients
|
||||
|
||||
@ -33,9 +33,9 @@ TimesSpent=Temps dedicats
|
||||
RefTask=Ref. tasca
|
||||
LabelTask=Etiqueta tasca
|
||||
# TaskTimeSpent=Time spent on tasks
|
||||
# TaskTimeUser=Task time user
|
||||
# TaskTimeNote=Task time note
|
||||
# TaskTimeDate=Task time date
|
||||
# TaskTimeUser=User
|
||||
# TaskTimeNote=Note
|
||||
# TaskTimeDate=Date
|
||||
NewTimeSpent=Nou temps dedicat
|
||||
MyTimeSpent=El meu temps dedicat
|
||||
MyTasks=Les meves tasques
|
||||
|
||||
6
htdocs/langs/ca_ES/salaries.lang
Normal file
6
htdocs/langs/ca_ES/salaries.lang
Normal 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
|
||||
@ -109,8 +109,8 @@ ParameterInDolibarr=Parametr %s
|
||||
LanguageParameter=%s Jazykové parametrů
|
||||
LanguageBrowserParameter=Parametr %s
|
||||
LocalisationDolibarrParameters=Lokalizace parametry
|
||||
ClientTZ=Klient Time Zone (uživatele)
|
||||
ClientHour=Klient čas (uživatele)
|
||||
# ClientTZ=Client Time Zone (user)
|
||||
# ClientHour=Client time (user)
|
||||
OSTZ=Servre OS Časové pásmo
|
||||
PHPTZ=PHP serveru Časové pásmo
|
||||
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
|
||||
Module54000Name=PrintIPP
|
||||
Module54000Desc=Tisk přes poháry tiskárny IPP.
|
||||
Module55000Name=Otevřít Průzkum
|
||||
# Module55000Desc=Module to make online surveys (like Doodle, Studs, Rdvz, ...)
|
||||
# Module55000Name=Open Poll
|
||||
# Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
|
||||
Module59000Name=Okraje
|
||||
Module59000Desc=Modul pro správu marže
|
||||
Module60000Name=Provize
|
||||
@ -732,8 +732,8 @@ Permission50101=Použijte místě prodeje
|
||||
Permission50201=Přečtěte transakce
|
||||
Permission50202=Importní operace
|
||||
Permission54001=Vytisknout
|
||||
Permission55001=Přečtěte si průzkumy
|
||||
Permission55002=Vytvořit / upravit průzkumy
|
||||
# Permission55001=Read polls
|
||||
# Permission55002=Create/modify polls
|
||||
# Permission59001=Read commercial margins
|
||||
# Permission59002=Define commercial margins
|
||||
# DictionaryCompanyType=Thirdparties type
|
||||
|
||||
@ -28,6 +28,9 @@ InvoiceReplacementDesc=<b>Náhradní faktura</b> se používá ke zrušení a na
|
||||
InvoiceAvoir=Dobropis
|
||||
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).
|
||||
# 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
|
||||
ReplacementInvoice=Náhradní faktura
|
||||
ReplacedByInvoice=Nahrazeno faktuře %s
|
||||
@ -222,8 +225,6 @@ DispenseMontantLettres=Návrhem zákona o mechanografickým jsou osvobozeni od p
|
||||
NonPercuRecuperable=Nevratná
|
||||
SetConditions=Nastavit platební podmínky
|
||||
SetMode=Nastavit platební režim
|
||||
SetDate= Nastavení data
|
||||
SelectDate=Vyberte datum
|
||||
Billed=Účtováno
|
||||
RepeatableInvoice=Přednastavená faktura
|
||||
RepeatableInvoices=Předdefinované faktury
|
||||
|
||||
@ -66,7 +66,7 @@ ReturnInCompany=Zpět na zákazníka / Vyhlídka karty
|
||||
ContentsVisibleByAll=Obsah bude vidět všichni
|
||||
ContentsVisibleByAllShort=Obsah viditelné všemi
|
||||
ContentsNotVisibleByAllShort=Obsah není vidět všichni
|
||||
CategoriesTree=Kategorie strom
|
||||
# CategoriesTree=Categories tree
|
||||
DeleteCategory=Odstranit kategorii
|
||||
ConfirmDeleteCategory=Jste si jisti, že chcete smazat tuto kategorii?
|
||||
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í
|
||||
CatSupLinks=Vazby mezi dodavateli a kategorií
|
||||
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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user