From b075e3c808b15d24df80c88d965db90e5cb27986 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 11 Nov 2013 10:10:47 +0100 Subject: [PATCH 01/51] Problem in my software --- htdocs/langs/sk_SK/link.lang | 36 ++++++++++++++++---------------- htdocs/langs/sk_SK/printipp.lang | 36 ++++++++++++++++---------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/htdocs/langs/sk_SK/link.lang b/htdocs/langs/sk_SK/link.lang index 910d15af974..abfa69d7e2a 100644 --- a/htdocs/langs/sk_SK/link.lang +++ b/htdocs/langs/sk_SK/link.lang @@ -1,18 +1,18 @@ -/* - * Language code: sk_SK - * Automatic generated via autotranslator.php tool - * Generation date 2013-11-08 23:25:26 - */ - - -// START - Lines generated via autotranslator.php tool (2013-11-08 23:25:26). -// Reference language: en_US -> sk_SK -LinkANewFile=Prepojenie nový súbor / dokument -LinkedFiles=Prepojené súbory a dokumenty -NoLinkFound=Žiadny registrovaný odkazy -LinkComplete=Súbor bol úspešne pripojil -ErrorFileNotLinked=Súbor nemohol byť spojená -LinkRemoved=Odkaz %s bol odstránený -ErrorFailedToDeleteLink=Nepodarilo sa odstrániť odkaz "%s" -ErrorFailedToUpdateLink=Nepodarilo sa aktualizovať odkaz "%s" -// STOP - Lines generated via autotranslator.php tool (2013-11-08 23:35:10). +/* + * Language code: sk_SK + * Automatic generated via autotranslator.php tool + * Generation date 2013-11-08 23:25:26 + */ + + +// START - Lines generated via autotranslator.php tool (2013-11-08 23:25:26). +// Reference language: en_US -> sk_SK +LinkANewFile=Prepojenie nový súbor / dokument +LinkedFiles=Prepojené súbory a dokumenty +NoLinkFound=Žiadny registrovaný odkazy +LinkComplete=Súbor bol úspešne pripojil +ErrorFileNotLinked=Súbor nemohol byť spojená +LinkRemoved=Odkaz %s bol odstránený +ErrorFailedToDeleteLink=Nepodarilo sa odstrániť odkaz "%s" +ErrorFailedToUpdateLink=Nepodarilo sa aktualizovať odkaz "%s" +// STOP - Lines generated via autotranslator.php tool (2013-11-08 23:35:10). diff --git a/htdocs/langs/sk_SK/printipp.lang b/htdocs/langs/sk_SK/printipp.lang index 824e51a686b..1b051dae6cb 100644 --- a/htdocs/langs/sk_SK/printipp.lang +++ b/htdocs/langs/sk_SK/printipp.lang @@ -1,18 +1,18 @@ -/* - * Language code: sk_SK - * Automatic generated via autotranslator.php tool - * Generation date 2013-11-08 23:25:26 - */ - - -// START - Lines generated via autotranslator.php tool (2013-11-08 23:25:26). -// Reference language: en_US -> sk_SK -PrintIPPSetup=Nastavenie modulu Priama tlač -PrintIPPDesc=Ce modul Permet d'un ajouter Bouton d'dojem priame des dokumenty vers votre imprimante. Il requiert un systeme Linux Equipe de poháre. -PRINTIPP_ENABLED=Zobraziť Piktogram "Priama tlač" do zoznamu dokumentov -PRINTIPP_HOST=Tlačový server -PRINTIPP_PORT=Prístav -PRINTIPP_USER=Prihlásenie -PRINTIPP_PASSWORD=Heslo -NoPrinterFound=Žiadne tlačiarne nájdené (skontrolujte poháre Nasta) -// STOP - Lines generated via autotranslator.php tool (2013-11-08 23:48:51). +/* + * Language code: sk_SK + * Automatic generated via autotranslator.php tool + * Generation date 2013-11-08 23:25:26 + */ + + +// START - Lines generated via autotranslator.php tool (2013-11-08 23:25:26). +// Reference language: en_US -> sk_SK +PrintIPPSetup=Nastavenie modulu Priama tlač +PrintIPPDesc=Ce modul Permet d'un ajouter Bouton d'dojem priame des dokumenty vers votre imprimante. Il requiert un systeme Linux Equipe de poháre. +PRINTIPP_ENABLED=Zobraziť Piktogram "Priama tlač" do zoznamu dokumentov +PRINTIPP_HOST=Tlačový server +PRINTIPP_PORT=Prístav +PRINTIPP_USER=Prihlásenie +PRINTIPP_PASSWORD=Heslo +NoPrinterFound=Žiadne tlačiarne nájdené (skontrolujte poháre Nasta) +// STOP - Lines generated via autotranslator.php tool (2013-11-08 23:48:51). From 0d853cf73d83af2730c24419dfb588785acaa7fe Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 21 Nov 2013 02:49:22 +0100 Subject: [PATCH 02/51] Fix: [ bug #1118 ] Minor problem on print page link --- htdocs/main.inc.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index a8fc47ba413..7d1c9e310de 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1442,8 +1442,9 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a // Link to print main content area if (empty($conf->global->MAIN_PRINT_DISABLELINK) && empty($conf->browser->phone)) { - $qs=$_SERVER["QUERY_STRING"].($_SERVER["QUERY_STRING"]?'&':'').$morequerystring; - $text =''; + $qs=$_SERVER["QUERY_STRING"]; + $qs.=(($qs && $morequerystring)?'&':'').$morequerystring; + $text =''; $text.= img_picto('', 'printer.png', 'class="printer"'); $text.=''; $toprightmenu.=$form->textwithtooltip('',$langs->trans("PrintContentArea"),2,1,$text,'',1); From 7f950d8b4560579ca9614e68a80bab4e53843cd5 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Thu, 21 Nov 2013 12:28:51 +0100 Subject: [PATCH 03/51] Fix user pram_ihm, display tab and allow modify button only is user right allow it is OK --- htdocs/core/lib/usergroups.lib.php | 11 +++++++---- htdocs/user/param_ihm.php | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 041234bf206..41fca18e278 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -66,10 +66,13 @@ function user_prepare_head($object) $h++; } - $head[$h][0] = DOL_URL_ROOT.'/user/param_ihm.php?id='.$object->id; - $head[$h][1] = $langs->trans("UserGUISetup"); - $head[$h][2] = 'guisetup'; - $h++; + //Display this tab only if can updte information + if (!empty($user->admin) || !empty($user->rights->user->self->creer)) { + $head[$h][0] = DOL_URL_ROOT.'/user/param_ihm.php?id='.$object->id; + $head[$h][1] = $langs->trans("UserGUISetup"); + $head[$h][2] = 'guisetup'; + $h++; + } if (! empty($conf->clicktodial->enabled)) { diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index 54a9093bd34..a6b718f83b8 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -258,7 +258,7 @@ else } else { - if ($user->id == $fuser->id || ! empty($user->admin)) // Si utilisateur edite = utilisateur courant (pas besoin de droits particulier car il s'agit d'une page de modif d'output et non de données) ou si admin + if (($user->id == $fuser->id || ! empty($user->admin)) && $caneditfield) // Si utilisateur edite = utilisateur courant (pas besoin de droits particulier car il s'agit d'une page de modif d'output et non de données) ou si admin { print 'id.'">'.$langs->trans("Modify").''; } From a7d0357d5de3a74072acc29e071b09123d954c0d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 21 Nov 2013 16:26:56 +0100 Subject: [PATCH 04/51] Fix: If no permission to edit object, form to change category must be hidden Fix: Adding supplier category was saved into wrong table. --- htdocs/categories/categorie.php | 79 +++++++++++---------- htdocs/categories/class/categorie.class.php | 20 ++++-- 2 files changed, 56 insertions(+), 43 deletions(-) diff --git a/htdocs/categories/categorie.php b/htdocs/categories/categorie.php index 4fef3184c20..6aa063a9b4e 100644 --- a/htdocs/categories/categorie.php +++ b/htdocs/categories/categorie.php @@ -118,7 +118,8 @@ if (empty($reshook)) } if ($type==1 && $user->rights->societe->creer) { - $object = new Societe($db); + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; + $object = new Fournisseur($db); $result = $object->fetch($objectid); $elementtype = 'fournisseur'; } @@ -152,7 +153,7 @@ if (empty($reshook)) setEventMessage($cat->errors,'errors'); } } - + // Add object into a category if ($parent > 0) { @@ -165,7 +166,8 @@ if (empty($reshook)) } if ($type==1 && $user->rights->societe->creer) { - $object = new Societe($db); + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; + $object = new Fournisseur($db); $result = $object->fetch($objectid); $elementtype = 'fournisseur'; } @@ -319,11 +321,11 @@ if ($socid) dol_fiche_end(); - if ($soc->client) formCategory($db,$soc,2,$socid); + if ($soc->client) formCategory($db,$soc,2,$socid,$user->rights->societe->creer); if ($soc->client && $soc->fournisseur) print '

'; - if ($soc->fournisseur) formCategory($db,$soc,1,$socid); + if ($soc->fournisseur) formCategory($db,$soc,1,$socid,$user->rights->societe->creer); } else if ($id || $ref) { @@ -377,7 +379,7 @@ else if ($id || $ref) dol_fiche_end(); - formCategory($db,$product,0); + formCategory($db,$product,0,($user->rights->produit->creer || $user->rights->service->creer)); } if ($type == 3) @@ -456,7 +458,7 @@ else if ($id || $ref) dol_fiche_end(); - formCategory($db,$member,3); + formCategory($db,$member,3,0,$user->rights->adherent->creer); } if ($type == 4) { @@ -602,7 +604,7 @@ else if ($id || $ref) dol_fiche_end(); - formCategory($db,$object,4); + formCategory($db,$object,4,$user->rights->societe->creer); } } @@ -610,13 +612,14 @@ else if ($id || $ref) /** * Function to output a form to add object into a category * - * @param DoliDb $db Database handler - * @param Object $object Object we want to see categories it can be classified into - * @param int $typeid Type of category (0, 1, 2, 3) - * @param int $socid Id thirdparty + * @param DoliDb $db Database handler + * @param Object $object Object we want to see categories it can be classified into + * @param int $typeid Type of category (0, 1, 2, 3) + * @param int $socid Id thirdparty + * @param string $showclassifyform 1=Add form to 'Classify', 0=Do not show form to 'Classify' * @return int 0 */ -function formCategory($db,$object,$typeid,$socid=0) +function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) { global $user,$langs,$form,$bc; @@ -626,33 +629,37 @@ function formCategory($db,$object,$typeid,$socid=0) if ($typeid == 3) $title = $langs->trans("MembersCategoriesShort"); if ($typeid == 4) $title = $langs->trans("ContactCategoriesShort"); - // Form to add record into a category print '
'; print_fiche_titre($title,'',''); - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - if ($user->rights->categorie->creer) + + // Form to add record into a category + if ($showclassifyform) { - print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'; - print $langs->trans("ClassifyInCategory").'  '; - print $form->select_all_categories($typeid,'auto'); - print ''; - print ''; - print 'id.'&type='.$typeid).'">'; - print $langs->trans("CreateCat").' '; - print img_picto($langs->trans("Create"),'filenew'); - print ""; - print '
'; + print ''; + if ($user->rights->categorie->creer) + { + print ''; + } + print ''; + print '
'; + print $langs->trans("ClassifyInCategory").'  '; + print $form->select_all_categories($typeid,'auto'); + print ''; + print ''; + print 'id.'&type='.$typeid).'">'; + print $langs->trans("CreateCat").' '; + print img_picto($langs->trans("Create"),'filenew'); + print ""; + print '
'; + print '
'; + print '
'; } - print ''; - print ''; - print ''; - print '
'; $c = new Categorie($db); diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index b6d5c622e9c..4ab19b7f915 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -386,7 +386,7 @@ class Categorie * Link an object to the category * * @param Object $obj Object to link to category - * @param string $type Type of category (member, supplier, product, customer, contact) + * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') * @return int 1 : OK, -1 : erreur SQL, -2 : id not defined, -3 : Already linked */ function add_type($obj,$type) @@ -397,11 +397,14 @@ class Categorie if ($this->id == -1) return -2; - if ($type == 'company') $type='societe'; - if ($type == 'fournisseur') $type='societe'; + // For backward compatibility + if ($type == 'company') $type='societe'; + if ($type == 'customer') $type='societe'; + if ($type == 'supplier') $type='fournisseur'; $column_name=$type; if ($type=='contact') $column_name='socpeople'; + if ($type=='fournisseur') $column_name='societe'; $sql = "INSERT INTO ".MAIN_DB_PREFIX."categorie_".$type." (fk_categorie, fk_".$column_name.")"; $sql .= " VALUES (".$this->id.", ".$obj->id.")"; @@ -479,7 +482,7 @@ class Categorie * Delete object from category * * @param Object $obj Object - * @param string $type Type + * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') * @return int 1 if OK, -1 if KO */ function del_type($obj,$type) @@ -488,12 +491,15 @@ class Categorie $error=0; - if ($type == 'company') $type='societe'; - if ($type == 'fournisseur') $type='societe'; + // For backward compatibility + if ($type == 'company') $type='societe'; + if ($type == 'customer') $type='societe'; + if ($type == 'supplier') $type='fournisseur'; $column_name=$type; if ($type=='contact') $column_name='socpeople'; - + if ($type=='fournisseur') $column_name='societe'; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_".$type; $sql .= " WHERE fk_categorie = ".$this->id; $sql .= " AND fk_".$column_name." = ".$obj->id; From 00b0031ddfdf7976b11e3ce20531fabb4590ef3e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 21 Nov 2013 16:26:56 +0100 Subject: [PATCH 05/51] Fix: If no permission to edit object, form to change category must be hidden Fix: Adding supplier category was saved into wrong table. --- htdocs/categories/categorie.php | 79 +++++++++++---------- htdocs/categories/class/categorie.class.php | 20 ++++-- 2 files changed, 56 insertions(+), 43 deletions(-) diff --git a/htdocs/categories/categorie.php b/htdocs/categories/categorie.php index 4fef3184c20..6aa063a9b4e 100644 --- a/htdocs/categories/categorie.php +++ b/htdocs/categories/categorie.php @@ -118,7 +118,8 @@ if (empty($reshook)) } if ($type==1 && $user->rights->societe->creer) { - $object = new Societe($db); + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; + $object = new Fournisseur($db); $result = $object->fetch($objectid); $elementtype = 'fournisseur'; } @@ -152,7 +153,7 @@ if (empty($reshook)) setEventMessage($cat->errors,'errors'); } } - + // Add object into a category if ($parent > 0) { @@ -165,7 +166,8 @@ if (empty($reshook)) } if ($type==1 && $user->rights->societe->creer) { - $object = new Societe($db); + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; + $object = new Fournisseur($db); $result = $object->fetch($objectid); $elementtype = 'fournisseur'; } @@ -319,11 +321,11 @@ if ($socid) dol_fiche_end(); - if ($soc->client) formCategory($db,$soc,2,$socid); + if ($soc->client) formCategory($db,$soc,2,$socid,$user->rights->societe->creer); if ($soc->client && $soc->fournisseur) print '

'; - if ($soc->fournisseur) formCategory($db,$soc,1,$socid); + if ($soc->fournisseur) formCategory($db,$soc,1,$socid,$user->rights->societe->creer); } else if ($id || $ref) { @@ -377,7 +379,7 @@ else if ($id || $ref) dol_fiche_end(); - formCategory($db,$product,0); + formCategory($db,$product,0,($user->rights->produit->creer || $user->rights->service->creer)); } if ($type == 3) @@ -456,7 +458,7 @@ else if ($id || $ref) dol_fiche_end(); - formCategory($db,$member,3); + formCategory($db,$member,3,0,$user->rights->adherent->creer); } if ($type == 4) { @@ -602,7 +604,7 @@ else if ($id || $ref) dol_fiche_end(); - formCategory($db,$object,4); + formCategory($db,$object,4,$user->rights->societe->creer); } } @@ -610,13 +612,14 @@ else if ($id || $ref) /** * Function to output a form to add object into a category * - * @param DoliDb $db Database handler - * @param Object $object Object we want to see categories it can be classified into - * @param int $typeid Type of category (0, 1, 2, 3) - * @param int $socid Id thirdparty + * @param DoliDb $db Database handler + * @param Object $object Object we want to see categories it can be classified into + * @param int $typeid Type of category (0, 1, 2, 3) + * @param int $socid Id thirdparty + * @param string $showclassifyform 1=Add form to 'Classify', 0=Do not show form to 'Classify' * @return int 0 */ -function formCategory($db,$object,$typeid,$socid=0) +function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) { global $user,$langs,$form,$bc; @@ -626,33 +629,37 @@ function formCategory($db,$object,$typeid,$socid=0) if ($typeid == 3) $title = $langs->trans("MembersCategoriesShort"); if ($typeid == 4) $title = $langs->trans("ContactCategoriesShort"); - // Form to add record into a category print '
'; print_fiche_titre($title,'',''); - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - if ($user->rights->categorie->creer) + + // Form to add record into a category + if ($showclassifyform) { - print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'; - print $langs->trans("ClassifyInCategory").'  '; - print $form->select_all_categories($typeid,'auto'); - print ''; - print ''; - print 'id.'&type='.$typeid).'">'; - print $langs->trans("CreateCat").' '; - print img_picto($langs->trans("Create"),'filenew'); - print ""; - print '
'; + print ''; + if ($user->rights->categorie->creer) + { + print ''; + } + print ''; + print '
'; + print $langs->trans("ClassifyInCategory").'  '; + print $form->select_all_categories($typeid,'auto'); + print ''; + print ''; + print 'id.'&type='.$typeid).'">'; + print $langs->trans("CreateCat").' '; + print img_picto($langs->trans("Create"),'filenew'); + print ""; + print '
'; + print '
'; + print '
'; } - print ''; - print ''; - print ''; - print '
'; $c = new Categorie($db); diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index b6d5c622e9c..4ab19b7f915 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -386,7 +386,7 @@ class Categorie * Link an object to the category * * @param Object $obj Object to link to category - * @param string $type Type of category (member, supplier, product, customer, contact) + * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') * @return int 1 : OK, -1 : erreur SQL, -2 : id not defined, -3 : Already linked */ function add_type($obj,$type) @@ -397,11 +397,14 @@ class Categorie if ($this->id == -1) return -2; - if ($type == 'company') $type='societe'; - if ($type == 'fournisseur') $type='societe'; + // For backward compatibility + if ($type == 'company') $type='societe'; + if ($type == 'customer') $type='societe'; + if ($type == 'supplier') $type='fournisseur'; $column_name=$type; if ($type=='contact') $column_name='socpeople'; + if ($type=='fournisseur') $column_name='societe'; $sql = "INSERT INTO ".MAIN_DB_PREFIX."categorie_".$type." (fk_categorie, fk_".$column_name.")"; $sql .= " VALUES (".$this->id.", ".$obj->id.")"; @@ -479,7 +482,7 @@ class Categorie * Delete object from category * * @param Object $obj Object - * @param string $type Type + * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') * @return int 1 if OK, -1 if KO */ function del_type($obj,$type) @@ -488,12 +491,15 @@ class Categorie $error=0; - if ($type == 'company') $type='societe'; - if ($type == 'fournisseur') $type='societe'; + // For backward compatibility + if ($type == 'company') $type='societe'; + if ($type == 'customer') $type='societe'; + if ($type == 'supplier') $type='fournisseur'; $column_name=$type; if ($type=='contact') $column_name='socpeople'; - + if ($type=='fournisseur') $column_name='societe'; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_".$type; $sql .= " WHERE fk_categorie = ".$this->id; $sql .= " AND fk_".$column_name." = ".$obj->id; From 1bb7ddc2b16e0a64293129fbee648a78149dc245 Mon Sep 17 00:00:00 2001 From: BENKE Charles Date: Thu, 21 Nov 2013 17:32:11 +0100 Subject: [PATCH 06/51] Update modAgenda.class.php export extensions --- htdocs/core/modules/modAgenda.class.php | 47 +++++++++++++------------ 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index 1c22c61f3db..d927af0c4a4 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -362,30 +362,33 @@ class modAgenda extends DolibarrModules // Exports //-------- - $r=0; - - $r++; - $this->export_code[$r]=$this->rights_class.'_'.$r; - $this->export_label[$r]="ExportDataset_event1"; - $this->export_permission[$r]=array(array("agenda","export")); - $this->export_fields_array[$r]=array('a.id'=>'IdAgenda','a.label'=>'Actions','a.datep'=>'DateActionStart', - 'a.datea'=>'DateActionEnd','a.percent'=>'PercentDone','a.fk_user_author'=>'ActionAskedBy','a.fk_user_action'=>'ActionAffectedTo', - 'a.fk_user_done'=>"ActionDoneBy","a.priority"=>"Priority","a.fulldayevent"=>"EventOnFullDay","a.location"=>"Location", - "a.fk_soc"=>"ThirdParty","a.fk_contact"=>"ThirdPartyContact","a.fk_action"=>"Type"); - - $this->export_TypeFields_array[$r]=array('a.id'=>'Numeric','a.label'=>'Text','a.datep'=>'Date','a.datep2'=>'Date', - 'a.datea'=>'Date','a.datea2'=>'Date','a.percent'=>'Numeric','a.fk_user_author'=>'List:user:name','a.fk_user_action'=>'List:user:name', - 'a.fk_user_done'=>"List:user:name","a.priority"=>"Numeric","a.fulldayevent"=>"Boolean","a.location"=>"Text", - "a.fk_soc"=>"List:Societe:nom","a.fk_contact"=>"List:socpeople:name","a.fk_action"=>"List:c_actioncomm:libelle:code"); - - $this->export_entities_array[$r]=array('a.id'=>'action','a.label'=>'action','a.datep'=>'action','a.datep2'=>'action', - 'a.datea'=>'action','a.datea2'=>'action','a.percent'=>'action','a.fk_user_author'=>'action','a.fk_user_action'=>'action', - 'a.fk_user_done'=>"action","a.priority"=>"action","a.fulldayevent"=>"action","a.location"=>"action", - "a.fk_soc"=>"action","a.fk_contact"=>"action","a.fk_action"=>"action"); + $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town', + 'cp.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4', + 's.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra', + 'ac.id'=>"ActionId",'ac.ref_ext'=>"ExternalRef",'ac.datec'=>"ActionDateCreation",'ac.datep'=>"DateActionBegin", + 'ac.datep2'=>"DateActionEnd",'ac.label'=>"Label",'ac.note'=>"Note",'ac.percent'=>"Percent",'ac.durationp'=>"durationp", + 'cac.libelle'=>"ActionType"); + $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text', + 'cp.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text', + 's.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text', + 'ac.ref_ext'=>"Text",'ac.datec'=>"Date",'ac.datep'=>"Date", + 'ac.datep2'=>"Date",'ac.label'=>"Text",'ac.note'=>"Text",'ac.percent'=>"Number", + 'ac.durationp'=>"Duree", + 'cac.libelle'=>"List:c_actioncomm:libelle:rowid"); + $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company', + 'cp.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company', + 's.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company', + 'ac.id'=>"action",'ac.ref_ext'=>"action",'ac.datec'=>"action",'ac.datep'=>"action", + 'ac.datep2'=>"action",'ac.label'=>"action",'ac.note'=>"action",'ac.percent'=>"action",'ac.durationp'=>"action", + 'cac.libelle'=>"action"); $this->export_sql_start[$r]='SELECT DISTINCT '; - $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'actioncomm as a'; - $this->export_sql_end[$r] .=' Where a.entity = '.$conf->entity; + $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'actioncomm as ac'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_actioncomm as cac on ac.fk_action = cac.id'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'socpeople as sp on ac.fk_contact = sp.rowid'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s on ac.fk_soc = s.rowid'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as cp on s.fk_pays = cp.rowid'; + $this->export_sql_end[$r] .=' Where ac.entity = '.$conf->entity; $this->export_sql_end[$r] .=' ORDER BY datep'; } From 302a230bf2b5e2b4a96adbbfa58ddbdbd5ddadc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Doursenaud?= Date: Thu, 21 Nov 2013 18:00:27 +0100 Subject: [PATCH 07/51] Made update price synchronous to avoid dependency hell --- htdocs/core/tpl/objectline_add.tpl.php | 73 ++++++++++++++------------ 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/htdocs/core/tpl/objectline_add.tpl.php b/htdocs/core/tpl/objectline_add.tpl.php index 6e1c3c687f9..207351d0596 100644 --- a/htdocs/core/tpl/objectline_add.tpl.php +++ b/htdocs/core/tpl/objectline_add.tpl.php @@ -423,40 +423,45 @@ $(document).ready(function() { }); function update_price(input, output) { - $.post('/core/ajax/price.php', { - 'amount': $('#' + input).val(), - 'output': output, - 'tva_tx': $('#tva_tx').val() - }, - function(data) { - var addline=false; - if (typeof data[output] != 'undefined') { - // Hide price_ttc if no vat - //if ($('#tva_tx').val() > 0 || ($('#tva_tx').val() == 0 && output == 'price_ht')) { - $('#' + output).val(data[output]); - //} - if ($('#idprod').val() == 0 && $('#select_type').val() >= 0) { - if (typeof CKEDITOR == 'object' && typeof CKEDITOR.instances != 'undefined' && CKEDITOR.instances['product_desc'] != 'undefined') { - var content = CKEDITOR.instances['product_desc'].getData(); - } else { - var content = $('#product_desc').val(); - } - if (content.length > 0) { - addline=true; - } - } else { - addline=true; - } - } else { - $('#' + input).val(''); - $('#' + output).val(''); - } - if (addline) { - $('#addlinebutton').removeAttr('disabled'); - } else { - $('#addlinebutton').attr('disabled','disabled'); - } - }, 'json'); + $.ajax({ + type: 'POST', + url: '/core/ajax/price.php', + data: { + 'amount': $('#' + input).val(), + 'output': output, + 'tva_tx': $('#tva_tx').val() + }, + success: function(data) { + var addline=false; + if (typeof data[output] != 'undefined') { + // Hide price_ttc if no vat + //if ($('#tva_tx').val() > 0 || ($('#tva_tx').val() == 0 && output == 'price_ht')) { + $('#' + output).val(data[output]); + //} + if ($('#idprod').val() == 0 && $('#select_type').val() >= 0) { + if (typeof CKEDITOR == 'object' && typeof CKEDITOR.instances != 'undefined' && CKEDITOR.instances['product_desc'] != 'undefined') { + var content = CKEDITOR.instances['product_desc'].getData(); + } else { + var content = $('#product_desc').val(); + } + if (content.length > 0) { + addline=true; + } + } else { + addline=true; + } + } else { + $('#' + input).val(''); + $('#' + output).val(''); + } + if (addline) { + $('#addlinebutton').removeAttr('disabled'); + } else { + $('#addlinebutton').attr('disabled','disabled'); + } + }, + dataType: 'json', + async: false}); } function getVATRates(action, htmlname, idprod) { From 29e029161f77c92bb488fa00bad45004b7c2a3cb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 21 Nov 2013 18:41:06 +0100 Subject: [PATCH 08/51] Fix: Restore translation lost because entry was not set into en_US lang. --- htdocs/langs/en_US/main.lang | 1 + htdocs/langs/fr_FR/main.lang | 1 + htdocs/langs/fr_FR/orders.lang | 1 - 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 4f5485eb226..6876d0c6b2b 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -656,6 +656,7 @@ Deductible=Deductible from=from toward=toward Access=Access +SetDemandReason=Set source # Week day Monday=Monday diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index dcb72b22cad..f642fe4c9b5 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -654,6 +654,7 @@ Deductible=Déductible from=de toward=vers Access=Accès +SetDemandReason=Définir l'origine # Week day Monday=Lundi diff --git a/htdocs/langs/fr_FR/orders.lang b/htdocs/langs/fr_FR/orders.lang index 045b6223038..f0da79c799d 100644 --- a/htdocs/langs/fr_FR/orders.lang +++ b/htdocs/langs/fr_FR/orders.lang @@ -144,7 +144,6 @@ OrderSource5=Commercial OrderSource6=Magasin QtyOrdered=Qté commandée AddDeliveryCostLine=Ajouter une ligne de frais port indiquant le poids de la commande -SetDemandReason=Définir l'origine de la commande # Document models PDFEinsteinDescription=Modèle de commande complet (logo...) From 04fdfb404778d8d83f5ecfdb5aed4146ee8fdfe9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 22 Nov 2013 11:45:42 +0100 Subject: [PATCH 09/51] Fix: Problem with W3C and wrapping of some title lines. --- htdocs/core/lib/functions.lib.php | 4 ++-- htdocs/product/liste.php | 17 +++++++++++------ htdocs/theme/eldy/style.css.php | 3 --- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 220721d6f5e..dead4b4beb4 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2395,8 +2395,8 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m // If field is used as sort criteria we use a specific class // Example if (sortfield,field)=("nom","xxx.nom") or (sortfield,field)=("nom","nom") - if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel" '. $moreattrib.'>'; - else $out.= '<'.$tag.' class="liste_titre" '. $moreattrib.'>'; + if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel'.($field?' nowrap':'').'" '. $moreattrib.'>'; + else $out.= '<'.$tag.' class="liste_titre'.($field?' nowrap':'').'" '. $moreattrib.'>'; if (! empty($conf->dol_optimize_smallscreen) && empty($thead) && $field) // If this is a sort field { diff --git a/htdocs/product/liste.php b/htdocs/product/liste.php index efe4799bdee..30ed2fd95b1 100644 --- a/htdocs/product/liste.php +++ b/htdocs/product/liste.php @@ -271,6 +271,13 @@ else // Filter on categories $moreforfilter=''; + $colspan=6; + if (! empty($conf->barcode->enabled)) $colspan++; + if (! empty($conf->service->enabled) && $type != 0) $colspan++; + if (empty($conf->global->PRODUIT_MULTIPRICES)) $colspan++; + if ($user->rights->fournisseur->lire) $colspan++; + if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) $colspan+=2; + if (! empty($conf->categorie->enabled)) { $moreforfilter.=$langs->trans('Categories'). ': '; @@ -280,22 +287,20 @@ else if ($moreforfilter) { print ''; - print ''; + print ''; print $moreforfilter; print ''; } // Lignes des titres - print ""; + print ''; print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label",$param,"","",$sortfield,$sortorder); if (! empty($conf->barcode->enabled)) print_liste_field_titre($langs->trans("BarCode"), $_SERVER["PHP_SELF"], "p.barcode",$param,'','',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateModification"), $_SERVER["PHP_SELF"], "p.tms",$param,"",'align="center"',$sortfield,$sortorder); if (! empty($conf->service->enabled) && $type != 0) print_liste_field_titre($langs->trans("Duration"), $_SERVER["PHP_SELF"], "p.duration",$param,"",'align="center"',$sortfield,$sortorder); if (empty($conf->global->PRODUIT_MULTIPRICES)) print_liste_field_titre($langs->trans("SellingPrice"), $_SERVER["PHP_SELF"], "p.price",$param,"",'align="right"',$sortfield,$sortorder); - if ($user->rights->produit->creer) { - print ''.$langs->trans("BuyingPriceMinShort").''; - } + if ($user->rights->fournisseur->lire) print ''.$langs->trans("BuyingPriceMinShort").''; if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) print ''.$langs->trans("DesiredStock").''; if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) print ''.$langs->trans("PhysicalStock").''; print_liste_field_titre($langs->trans("Sell"), $_SERVER["PHP_SELF"], "p.tosell",$param,"",'align="center"',$sortfield,$sortorder); @@ -338,7 +343,7 @@ else } // Minimum buying Price - if ($user->rights->produit->creer) { + if ($user->rights->fournisseur->lire) { print ''; print ' '; print ''; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index ea44564b8d5..19b2cb5bd84 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -1750,7 +1750,6 @@ div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.list color: #; font-family: ; border-bottom: 1px solid #FDFFFF; - white-space: ; text-align: ; } tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div, div.liste_titre @@ -1758,7 +1757,6 @@ tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste font-family: ; font-weight: bold; border-bottom: 1px solid #FDFFFF; - white-space: ; text-shadow: 1px 0px 1px #; vertical-align: middle; } @@ -1774,7 +1772,6 @@ tr.liste_titre_sel th, th.liste_titre_sel, tr.liste_titre_sel td, td.liste_titre font-family: ; font-weight: normal; border-bottom: 1px solid #FDFFFF; - white-space: ; text-decoration: underline; text-shadow: 1px 0px 1px #; } From 224abc3831e751ad0f434af9a172379203c9ac06 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 22 Nov 2013 13:18:01 +0100 Subject: [PATCH 10/51] Fix: When option is not set, it must not appears as set. --- htdocs/admin/company.php | 11 ++++++----- htdocs/societe/class/societe.class.php | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 5580249c141..ad77a9ba8c7 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -561,9 +561,9 @@ if ($action == 'edit' || $action == 'updateedit') print ' '; print "\n"; $var=true; - $var=!$var; - print ""; + // Note: When option is not set, it must not appears as set on on, because there is no default value for this option + print ""; print ''; print ""; print ""; @@ -595,7 +595,8 @@ if ($action == 'edit' || $action == 'updateedit') $var=true; $var=!$var; - print ""; + // Note: When option is not set, it must not appears as set on on, because there is no default value for this option + print ""; print '
".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."
'; print ""; print ""; @@ -941,7 +942,7 @@ else $var=true; $var=!$var; - print ""; + print ""; print '
".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."
'; print ""; print ""; @@ -974,7 +975,7 @@ else $var=true; $var=!$var; - print ""; + print ""; print ''; - print ''; } // Lignes des titres - print ""; + print ''; print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label",$param,"","",$sortfield,$sortorder); if (! empty($conf->barcode->enabled)) print_liste_field_titre($langs->trans("BarCode"), $_SERVER["PHP_SELF"], "p.barcode",$param,'','',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateModification"), $_SERVER["PHP_SELF"], "p.tms",$param,"",'align="center"',$sortfield,$sortorder); if (! empty($conf->service->enabled) && $type != 0) print_liste_field_titre($langs->trans("Duration"), $_SERVER["PHP_SELF"], "p.duration",$param,"",'align="center"',$sortfield,$sortorder); if (empty($conf->global->PRODUIT_MULTIPRICES)) print_liste_field_titre($langs->trans("SellingPrice"), $_SERVER["PHP_SELF"], "p.price",$param,"",'align="right"',$sortfield,$sortorder); - if ($user->rights->produit->creer) { - print ''; - } + if ($user->rights->fournisseur->lire) print ''; if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) print ''; if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) print ''; print_liste_field_titre($langs->trans("Sell"), $_SERVER["PHP_SELF"], "p.tosell",$param,"",'align="center"',$sortfield,$sortorder); @@ -338,7 +343,7 @@ else } // Minimum buying Price - if ($user->rights->produit->creer) { + if ($user->rights->fournisseur->lire) { print ''; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index bfcb428c659..0abcb79f4ec 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -1750,7 +1750,6 @@ div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.list color: #; font-family: ; border-bottom: 1px solid #FDFFFF; - white-space: ; text-align: ; } tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div, div.liste_titre @@ -1758,7 +1757,6 @@ tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste font-family: ; font-weight: bold; border-bottom: 1px solid #FDFFFF; - white-space: ; text-shadow: 1px 0px 1px #; vertical-align: middle; } @@ -1774,7 +1772,6 @@ tr.liste_titre_sel th, th.liste_titre_sel, tr.liste_titre_sel td, td.liste_titre font-family: ; font-weight: normal; border-bottom: 1px solid #FDFFFF; - white-space: ; text-decoration: underline; text-shadow: 1px 0px 1px #; } From 6ffdc039a23e3286d71d351eb7599305b7b7a321 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 22 Nov 2013 13:18:01 +0100 Subject: [PATCH 19/51] Fix: When option is not set, it must not appears as set. --- htdocs/admin/company.php | 11 ++++++----- htdocs/societe/class/societe.class.php | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 5580249c141..ad77a9ba8c7 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -561,9 +561,9 @@ if ($action == 'edit' || $action == 'updateedit') print ''; print "\n"; $var=true; - $var=!$var; - print ""; + // Note: When option is not set, it must not appears as set on on, because there is no default value for this option + print ""; print '
".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."
'; print ""; print ""; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 66d40e480ba..4e50a081079 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -2552,8 +2552,8 @@ class Societe extends CommonObject $this->tva_assuj=((isset($conf->global->FACTURE_TVAOPTION) && $conf->global->FACTURE_TVAOPTION=='franchise')?0:1); // Define if company use local taxes - $this->localtax1_assuj=((isset($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')?1:0); - $this->localtax2_assuj=((isset($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')?1:0); + $this->localtax1_assuj=((isset($conf->global->FACTURE_LOCAL_TAX1_OPTION) && ($conf->global->FACTURE_LOCAL_TAX1_OPTION=='1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on'))?1:0); + $this->localtax2_assuj=((isset($conf->global->FACTURE_LOCAL_TAX2_OPTION) && ($conf->global->FACTURE_LOCAL_TAX2_OPTION=='1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on'))?1:0); } /** From 5d349532002de66a9d06d70afd0d374317471955 Mon Sep 17 00:00:00 2001 From: simnandez Date: Fri, 22 Nov 2013 14:30:29 +0100 Subject: [PATCH 11/51] New: Add list of orders products in tab "consumption" on thirdparties. --- ChangeLog | 5 +++++ htdocs/societe/consumption.php | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ba9eef93f64..acfd46d2ff3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,11 @@ English Dolibarr ChangeLog -------------------------------------------------------------- +***** ChangeLog for 3.6 compared to 3.5.* ***** +For users: +- New: Add list of orders products in tab "consumption" on thirdparties. + + ***** ChangeLog for 3.5 compared to 3.4.* ***** For users: - New: Add hidden option BANK_DISABLE_DIRECT_INPUT. diff --git a/htdocs/societe/consumption.php b/htdocs/societe/consumption.php index 21d98fbd64c..1609a44b6ae 100644 --- a/htdocs/societe/consumption.php +++ b/htdocs/societe/consumption.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2013 Juanjo Menent * * Version V1.1 Initial version of Philippe Berthet * Version V2 Change to be compatible with 3.4 and enhanced to be more generic @@ -30,6 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.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.'/compta/facture/class/facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; @@ -173,7 +175,15 @@ $thirdTypeSelect='customer'; } if ($type_element == 'order') { - // TODO + $documentstatic=new Commande($db); + $sql_select = 'SELECT f.rowid as doc_id, f.ref as doc_number, "1" as doc_type, f.date_commande as datePrint, '; + $tables_from = MAIN_DB_PREFIX."commande as f,".MAIN_DB_PREFIX."commandedet as d"; + $where = " WHERE f.fk_soc = s.rowid AND s.rowid = ".$socid; + $where.= " AND d.fk_commande = f.rowid"; + $where.= " AND f.entity = ".$conf->entity; + $datePrint = 'f.date_creation'; + $doc_number='f.ref'; + $thirdTypeSelect='customer'; } if ($type_element == 'supplier_order') From f852c9a5bbc56e01b7b9c4cfa648dbf93fd436c4 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Fri, 22 Nov 2013 14:43:15 +0100 Subject: [PATCH 12/51] Fix [ bug #1145 ] Agenda button list type do not display --- ChangeLog | 3 +- htdocs/core/lib/agenda.lib.php | 224 ++++++++++++++++----------------- 2 files changed, 109 insertions(+), 118 deletions(-) diff --git a/ChangeLog b/ChangeLog index f6d72624b4d..4702e01e0a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,7 +8,8 @@ Fix: Bad rounding on margin calculations and display. Fix: Option drop table into backup was broken. Fix: [ bug #1105 ] Searching Boxes other search option Fix: wrong buy price update -Fix :[ bug #1142 ] Set paiement on invoice (PGSql) +Fix: [ bug #1142 ] Set paiement on invoice (PGSql) +Fix: [ bug #1145 ] Agenda button list type do not display ***** ChangeLog for 3.4.1 compared to 3.4.0 ***** Fix: Display buying price on line edit when no supplier price is defined diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php index dda971668de..32584a19a9b 100644 --- a/htdocs/core/lib/agenda.lib.php +++ b/htdocs/core/lib/agenda.lib.php @@ -43,126 +43,116 @@ * @param string $actioncode Preselected value of actioncode for filter on type * @return void */ -function print_actions_filter($form,$canedit,$status,$year,$month,$day,$showbirthday,$filtera,$filtert,$filterd,$pid,$socid,$showextcals=array(),$actioncode='') -{ - global $conf,$user,$langs,$db; +function print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $showextcals = array(), $actioncode = '') { + global $conf, $user, $langs, $db; + // Filters - if ($canedit || ! empty($conf->projet->enabled)) - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."
'; - if ($canedit || ! empty($conf->projet->enabled)) - { - print ''; - - // Buttons - print ''; - - // Legend - if ($conf->use_javascript_ajax && is_array($showextcals)) - { - print ''; - } - - print ''; - } - print '
'; - - print ''; - - if ($canedit) - { - print ''; - print ''; - print ''; - - print ''; - print ''; - - print ''; - print ''; - - include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; - $formactions=new FormActions($db); - print ''; - print ''; - } - - if (! empty($conf->projet->enabled) && $user->rights->projet->lire) - { - print ''; - print ''; - } - - print '
'; - print $langs->trans("ActionsAskedBy"); - print '  '; - print $form->select_dolusers($filtera,'userasked',1,'',!$canedit); - print '
'; - print $langs->trans("or").' '.$langs->trans("ActionsToDoBy"); - print '  '; - print $form->select_dolusers($filtert,'usertodo',1,'',!$canedit); - print '
'; - print $langs->trans("or").' '.$langs->trans("ActionsDoneBy"); - print '  '; - print $form->select_dolusers($filterd,'userdone',1,'',!$canedit); - print '
'; - print $langs->trans("Type"); - print '  '; - - print $formactions->select_type_actions($actioncode, "actioncode", '', (empty($conf->global->AGENDA_USE_EVENT_TYPE)?1:0)); - - print '
'; - print $langs->trans("Project").'   '; - print ''; - select_projects($socid?$socid:-1, $pid, 'projectid', 64); - print '
'; - print '
'; - print img_picto($langs->trans("ViewCal"),'object_calendar','class="hideonsmartphone"').' '; - print '
'; - print img_picto($langs->trans("ViewWeek"),'object_calendarweek','class="hideonsmartphone"').' '; - print '
'; - print img_picto($langs->trans("ViewDay"),'object_calendarday','class="hideonsmartphone"').' '; - print '
'; - print img_picto($langs->trans("ViewList"),'object_list','class="hideonsmartphone"').' '; - print '
'; - print ''."\n"; - print ''; - if (! empty($conf->global->MAIN_JS_SWITCH_AGENDA)) - { - if (count($showextcals) > 0) - { - print ''; - foreach($showextcals as $val) - { - $htmlname=dol_string_nospecial($val['name']); - print ''."\n"; - print ''; - } - } - } - print ''; - print '
'.$langs->trans("LocalAgenda").'
'.$val['name'].'
'.$langs->trans("AgendaShowBirthdayEvents").'
'; - print '
'; - print ''; + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + print ''; + + // Buttons + print ''; + + // Legend + if ($conf->use_javascript_ajax && is_array ( $showextcals )) { + print ''; + } + + print ''; + + print '
'; + + print ''; + + if ($canedit) { + print ''; + print ''; + print ''; + + print ''; + print ''; + + print ''; + print ''; + + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; + $formactions = new FormActions ( $db ); + print ''; + print ''; } + + if (! empty ( $conf->projet->enabled ) && $user->rights->projet->lire) { + print ''; + print ''; + } + + print '
'; + print $langs->trans ( "ActionsAskedBy" ); + print '  '; + print $form->select_dolusers ( $filtera, 'userasked', 1, '', ! $canedit ); + print '
'; + print $langs->trans ( "or" ) . ' ' . $langs->trans ( "ActionsToDoBy" ); + print '  '; + print $form->select_dolusers ( $filtert, 'usertodo', 1, '', ! $canedit ); + print '
'; + print $langs->trans ( "or" ) . ' ' . $langs->trans ( "ActionsDoneBy" ); + print '  '; + print $form->select_dolusers ( $filterd, 'userdone', 1, '', ! $canedit ); + print '
'; + print $langs->trans ( "Type" ); + print '  '; + + print $formactions->select_type_actions ( $actioncode, "actioncode", '', (empty ( $conf->global->AGENDA_USE_EVENT_TYPE ) ? 1 : 0) ); + + print '
'; + print $langs->trans ( "Project" ) . '   '; + print ''; + select_projects ( $socid ? $socid : - 1, $pid, 'projectid', 64 ); + print '
'; + print '
'; + print img_picto ( $langs->trans ( "ViewCal" ), 'object_calendar', 'class="hideonsmartphone"' ) . ' '; + print '
'; + print img_picto ( $langs->trans ( "ViewWeek" ), 'object_calendarweek', 'class="hideonsmartphone"' ) . ' '; + print '
'; + print img_picto ( $langs->trans ( "ViewDay" ), 'object_calendarday', 'class="hideonsmartphone"' ) . ' '; + print '
'; + print img_picto ( $langs->trans ( "ViewList" ), 'object_list', 'class="hideonsmartphone"' ) . ' '; + print '
'; + print '' . "\n"; + print ''; + if (! empty ( $conf->global->MAIN_JS_SWITCH_AGENDA )) { + if (count ( $showextcals ) > 0) { + print ''; + foreach ( $showextcals as $val ) { + $htmlname = dol_string_nospecial ( $val ['name'] ); + print '' . "\n"; + print ''; + } + } + } + print ''; + print '
' . $langs->trans ( "LocalAgenda" ) . '
' . $val ['name'] . '
' . $langs->trans ( "AgendaShowBirthdayEvents" ) . '
'; + print '
'; + print '
'; } From 58a8f590e6265ed932983a7e7b32aa82df5e947c Mon Sep 17 00:00:00 2001 From: simnandez Date: Fri, 22 Nov 2013 14:47:16 +0100 Subject: [PATCH 13/51] New: Add graph stats for suppliers orders in tab "stats" on products. --- ChangeLog | 1 + htdocs/langs/ca_ES/other.lang | 2 ++ htdocs/langs/en_US/other.lang | 2 ++ htdocs/langs/es_ES/other.lang | 2 ++ htdocs/langs/fr_FR/other.lang | 2 ++ htdocs/product/class/product.class.php | 29 +++++++++++++++++++++++++- htdocs/product/stats/fiche.php | 6 ++++++ 7 files changed, 43 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index acfd46d2ff3..26653492ceb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ English Dolibarr ChangeLog ***** ChangeLog for 3.6 compared to 3.5.* ***** For users: - New: Add list of orders products in tab "consumption" on thirdparties. +- New: Add graph stats for suppliers orders in tab "stats" on products. ***** ChangeLog for 3.5 compared to 3.4.* ***** diff --git a/htdocs/langs/ca_ES/other.lang b/htdocs/langs/ca_ES/other.lang index 06733ff14b5..16b312a2873 100644 --- a/htdocs/langs/ca_ES/other.lang +++ b/htdocs/langs/ca_ES/other.lang @@ -138,10 +138,12 @@ StatsByNumberOfEntities=Estadístiques en nombre d'identitats referents NumberOfProposals=Nombre de pressupostos en els darrers 12 mesos NumberOfCustomerOrders=Nombre de comandes de clients en els darrers 12 mesos NumberOfCustomerInvoices=Nombre de factures a clients en els darrers 12 mesos +NumberOfSupplierOrders=Nombre de comandes a proveïdors en els darrers 12 mesos NumberOfSupplierInvoices=Nombre de factures de proveïdors en els darrers 12 mesos NumberOfUnitsProposals=Nombre d'unitats en els pressupostos en els darrers 12 mesos NumberOfUnitsCustomerOrders=Nombre d'unitats en les comandes de clients en els darrers 12 mesos NumberOfUnitsCustomerInvoices=Nombre d'unitats en les factures a clients en els darrers 12 mesos +NumberOfUnitsSupplierInvoices=Nombre d'unitats en les comandes a proveïdors en els darrers 12 mesos NumberOfUnitsSupplierInvoices=Nombre d'unitats en les factures de proveïdors en els darrers 12 mesos EMailTextInterventionValidated=Fitxa intervenció %s validada EMailTextInvoiceValidated=Factura %s validada diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang index 76acd7022fc..c0fed3de5ef 100644 --- a/htdocs/langs/en_US/other.lang +++ b/htdocs/langs/en_US/other.lang @@ -138,10 +138,12 @@ StatsByNumberOfEntities=Statistics in number of referring entities NumberOfProposals=Number of proposals on last 12 month NumberOfCustomerOrders=Number of customer orders on last 12 month NumberOfCustomerInvoices=Number of customer invoices on last 12 month +NumberOfSupplierOrders=Number of supplier orders on last 12 month NumberOfSupplierInvoices=Number of supplier invoices on last 12 month NumberOfUnitsProposals=Number of units on proposals on last 12 month NumberOfUnitsCustomerOrders=Number of units on customer orders on last 12 month NumberOfUnitsCustomerInvoices=Number of units on customer invoices on last 12 month +NumberOfUnitsSupplierOrders=Number of units on supplier orders on last 12 month NumberOfUnitsSupplierInvoices=Number of units on supplier invoices on last 12 month EMailTextInterventionValidated=The intervention %s has been validated. EMailTextInvoiceValidated=The invoice %s has been validated. diff --git a/htdocs/langs/es_ES/other.lang b/htdocs/langs/es_ES/other.lang index 636b1b04dea..3e079ec02f4 100644 --- a/htdocs/langs/es_ES/other.lang +++ b/htdocs/langs/es_ES/other.lang @@ -138,10 +138,12 @@ StatsByNumberOfEntities=Estadísticas en número de identidades referentes NumberOfProposals=Número de presupuestos en los últimos 12 meses NumberOfCustomerOrders=Número de pedidos de clientes en los últimos 12 meses NumberOfCustomerInvoices=Número de facturas a clientes en los últimos 12 meses +NumberOfSupplierOrders=Número de pedidos a proveedores en los últimos 12 meses NumberOfSupplierInvoices=Número de facturas de proveedores en los últimos 12 meses NumberOfUnitsProposals=Número de unidades en los presupuestos en los últimos 12 meses NumberOfUnitsCustomerOrders=Número de unidades en los pedidos de clientes en los últimos 12 meses NumberOfUnitsCustomerInvoices=Número de unidades en las facturas a clientes en los últimos 12 meses +NumberOfUnitsSupplierOrders=Número de unidades en los pedidos a proveedores en los últimos 12 meses NumberOfUnitsSupplierInvoices=Número de unidades en las facturas de proveedores en los últimos 12 meses EMailTextInterventionValidated=Ficha intervención %s validada EMailTextInvoiceValidated=Factura %s validada diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index e9d896538af..9814d4f3704 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -138,10 +138,12 @@ StatsByNumberOfEntities=Statistiques en nombre d'entités référentes NumberOfProposals=Nombre de propositions commerciales sur les 12 derniers mois NumberOfCustomerOrders=Nombre de commandes clients sur les 12 derniers mois NumberOfCustomerInvoices=Nombre de factures clients sur les 12 derniers mois +NumberOfSupplierOrders=Nombre de commandes fournisseurs sur les 12 derniers mois NumberOfSupplierInvoices=Nombre de factures fournisseurs sur les 12 derniers mois NumberOfUnitsProposals=Nombre d'unités sur les propositions commerciales des 12 derniers mois NumberOfUnitsCustomerOrders=Nombre d'unités sur les commandes clients des 12 derniers mois NumberOfUnitsCustomerInvoices=Nombre d'unités sur les factures clients des 12 derniers mois +NumberOfUnitsSupplierOrders=Nombre d'unités sur les commandes fournisseur des 12 derniers mois NumberOfUnitsSupplierInvoices=Nombre d'unités sur les factures fournisseurs des 12 derniers mois EMailTextInterventionValidated=La fiche intervention %s vous concernant a été validée. EMailTextInvoiceValidated=La facture %s vous concernant a été validée. diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 8a6745da13f..c406ec10baf 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2007-2011 Jean Heimburger - * Copyright (C) 2010-2011 Juanjo Menent + * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2013 Cedric GROSS * Copyright (C) 2013 Marcos García * @@ -1829,6 +1829,33 @@ class Product extends CommonObject return $this->_get_stats($sql,$mode); } + + /** + * Return nb of units or orders in which product is included + * + * @param int $socid Limit count on a particular third party id + * @param string $mode 'byunit'=number of unit, 'bynumber'=nb of entities + * @return array <0 if KO, result[month]=array(valuex,valuey) where month is 0 to 11 + */ + function get_nb_ordersupplier($socid,$mode) + { + global $conf, $user; + + $sql = "SELECT sum(d.qty), date_format(c.date_commande, '%Y%m')"; + if ($mode == 'bynumber') $sql.= ", count(DISTINCT c.rowid)"; + $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as d, ".MAIN_DB_PREFIX."commande_fournisseur as c, ".MAIN_DB_PREFIX."societe as s"; + if (!$user->rights->fournisseur->lire && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE c.rowid = d.fk_commande"; + $sql.= " AND d.fk_product =".$this->id; + $sql.= " AND c.fk_soc = s.rowid"; + $sql.= " AND c.entity = ".$conf->entity; + if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND c.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; + if ($socid > 0) $sql.= " AND c.fk_soc = ".$socid; + $sql.= " GROUP BY date_format(c.date_commande,'%Y%m')"; + $sql.= " ORDER BY date_format(c.date_commande,'%Y%m') DESC"; + + return $this->_get_stats($sql,$mode); + } /** * Lie un produit associe au produit/service diff --git a/htdocs/product/stats/fiche.php b/htdocs/product/stats/fiche.php index dc38631e99a..2791698eef1 100644 --- a/htdocs/product/stats/fiche.php +++ b/htdocs/product/stats/fiche.php @@ -3,6 +3,7 @@ * Copyright (c) 2004-2013 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Eric Seigne + * Copyright (C) 2013 Juanjo Menent * * 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 @@ -142,6 +143,9 @@ if (! empty($id) || ! empty($ref)) 'invoices' =>array('modulepart'=>'productstats_invoices', 'file' => $object->id.'/invoices12m.png', 'label' => ($mode=='byunit'?$langs->transnoentitiesnoconv("NumberOfUnitsCustomerInvoices"):$langs->transnoentitiesnoconv("NumberOfCustomerInvoices"))), + 'orderssuppliers'=>array('modulepart'=>'productstats_orderssuppliers', + 'file' => $object->id.'/orderssuppliers12m.png', + 'label' => ($mode=='byunit'?$langs->transnoentitiesnoconv("NumberOfUnitsSupplierOrders"):$langs->transnoentitiesnoconv("NumberOfSupplierOrders"))), 'invoicessuppliers'=>array('modulepart'=>'productstats_invoicessuppliers', 'file' => $object->id.'/invoicessuppliers12m.png', 'label' => ($mode=='byunit'?$langs->transnoentitiesnoconv("NumberOfUnitsSupplierInvoices"):$langs->transnoentitiesnoconv("NumberOfSupplierInvoices"))), @@ -165,6 +169,7 @@ if (! empty($id) || ! empty($ref)) if ($key == 'orders') $graph_data = $object->get_nb_order($socid,$mode); if ($key == 'invoices') $graph_data = $object->get_nb_vente($socid,$mode); if ($key == 'invoicessuppliers') $graph_data = $object->get_nb_achat($socid,$mode); + if ($key == 'orderssuppliers') $graph_data = $object->get_nb_ordersupplier($socid,$mode); if (is_array($graph_data)) { @@ -204,6 +209,7 @@ if (! empty($id) || ! empty($ref)) if ($graphfiles == 'order' && ! $user->rights->commande->lire) continue; if ($graphfiles == 'invoices' && ! $user->rights->facture->lire) continue; if ($graphfiles == 'invoices_suppliers' && ! $user->rights->fournisseur->facture->lire) continue; + if ($graphfiles == 'orders_suppliers' && ! $user->rights->fournisseur->commande->lire) continue; if ($i % 2 == 0) From b8141ef2dbe652ce3a56fe98a174d468eb88cbf4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 22 Nov 2013 19:32:36 +0100 Subject: [PATCH 14/51] Prepare 3.6 dev --- build/debian/changelog | 7 +++++++ build/doxygen/dolibarr-doxygen.doxyfile | 2 +- build/exe/doliwamp/doliwamp.iss | 4 ++-- build/makepack-dolibarr.pl | 4 ++-- build/perl/virtualmin/dolibarr.pl | 2 +- build/rpm/dolibarr_fedora.spec | 2 +- build/rpm/dolibarr_generic.spec | 2 +- build/rpm/dolibarr_mandriva.spec | 2 +- build/rpm/dolibarr_opensuse.spec | 2 +- htdocs/filefunc.inc.php | 2 +- 10 files changed, 18 insertions(+), 11 deletions(-) diff --git a/build/debian/changelog b/build/debian/changelog index 7adfece4309..69ee52832c1 100644 --- a/build/debian/changelog +++ b/build/debian/changelog @@ -1,3 +1,10 @@ +dolibarr (3.6.0-1) unstable; urgency=low + + [ Laurent Destailleur (eldy) ] + * New upstream release. + + -- Laurent Destailleur (eldy) Mon, 22 Apr 2013 12:00:00 +0100 + dolibarr (3.5.0-1) unstable; urgency=low [ Laurent Destailleur (eldy) ] diff --git a/build/doxygen/dolibarr-doxygen.doxyfile b/build/doxygen/dolibarr-doxygen.doxyfile index d7e4a861428..1f7c5adbb62 100644 --- a/build/doxygen/dolibarr-doxygen.doxyfile +++ b/build/doxygen/dolibarr-doxygen.doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = dolibarr # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 3.5.0 +PROJECT_NUMBER = 3.6.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/build/exe/doliwamp/doliwamp.iss b/build/exe/doliwamp/doliwamp.iss index d1316dca664..f6d682ae9b2 100644 --- a/build/exe/doliwamp/doliwamp.iss +++ b/build/exe/doliwamp/doliwamp.iss @@ -17,9 +17,9 @@ ; ----- Change this ----- AppName=DoliWamp ; DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x -AppVerName=DoliWamp-3.5.0-beta +AppVerName=DoliWamp-3.6.0-beta ; DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x -OutputBaseFilename=DoliWamp-3.5.0-beta +OutputBaseFilename=DoliWamp-3.6.0-beta ; Define full path from wich all relative path are defined ; You must modify this to put here your dolibarr root directory ;SourceDir=Z:\home\ldestailleur\git\dolibarrxxx diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 57986f3bb31..44ddd511028 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -17,8 +17,8 @@ use Cwd; $PROJECT="dolibarr"; $MAJOR="3"; -$MINOR="5"; -$BUILD="0-beta"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate +$MINOR="6"; +$BUILD="0-dev"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate $RPMSUBVERSION="auto"; # auto use value found into BUILD @LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages diff --git a/build/perl/virtualmin/dolibarr.pl b/build/perl/virtualmin/dolibarr.pl index 3ba66bfe22e..849042e120e 100644 --- a/build/perl/virtualmin/dolibarr.pl +++ b/build/perl/virtualmin/dolibarr.pl @@ -30,7 +30,7 @@ return "Regis Houssin"; # script_dolibarr_versions() sub script_dolibarr_versions { -return ( "3.5.0", "3.4.1", "3.4.0", "3.3.3", "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" ); +return ( "3.6.0", "3.5.0", "3.4.1", "3.4.0", "3.3.3", "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" ); } sub script_dolibarr_category diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 4d6ba6a078d..1d769c43752 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -330,5 +330,5 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Wed Nov 6 2013 Laurent Destailleur 3.5.0-0.2.b +* Wed Nov 6 2013 Laurent Destailleur 3.6.0-0.12.b - Initial version (#723326) diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index f3d6e9d2e8d..8fe3de26340 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -558,5 +558,5 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Wed Nov 6 2013 Laurent Destailleur 3.5.0-0.2.b +* Wed Nov 6 2013 Laurent Destailleur 3.6.0-0.1.b - Initial version (#723326) diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 36b59f7a346..a2726c03f47 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -335,5 +335,5 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Wed Nov 6 2013 Laurent Destailleur 3.5.0-0.2.b +* Wed Nov 6 2013 Laurent Destailleur 3.6.0-0.1.b - Initial version (#723326) diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index a831bc60e22..88483e29146 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -345,5 +345,5 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Wed Nov 6 2013 Laurent Destailleur 3.5.0-0.2.b +* Wed Nov 6 2013 Laurent Destailleur 3.6.0-0.1.b - Initial version (#723326) diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 9c2b6975083..eaca2179553 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -29,7 +29,7 @@ * \brief File that include conf.php file and commons lib like functions.lib.php */ -if (! defined('DOL_VERSION')) define('DOL_VERSION','3.5.0-beta'); +if (! defined('DOL_VERSION')) define('DOL_VERSION','3.6.0-alpha'); if (! defined('EURO')) define('EURO',chr(128)); // Define syslog constants From 9156e9168fd0d032b84a55583cc9e627fc03b3f7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 23 Nov 2013 13:19:55 +0100 Subject: [PATCH 15/51] Add upgrade script --- .../install/mysql/migration/3.5.0-3.6.0.sql | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 htdocs/install/mysql/migration/3.5.0-3.6.0.sql diff --git a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql new file mode 100755 index 00000000000..8d894bfe54d --- /dev/null +++ b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql @@ -0,0 +1,20 @@ +-- +-- Be carefull to requests order. +-- This file must be loaded by calling /install/index.php page +-- when current version is 3.5.0 or higher. +-- +-- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new; +-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol; +-- To rename a column: ALTER TABLE llx_table CHANGE COLUMN oldname newname varchar(60); +-- To drop a column: ALTER TABLE llx_table DROP COLUMN oldname; +-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60); +-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name; +-- To restrict request to Mysql version x.y use -- VMYSQLx.y +-- To restrict request to Pgsql version x.y use -- VPGSQLx.y +-- To make pk to be auto increment (mysql): VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT; +-- To make pk to be auto increment (postgres) VPGSQL8.2 NOT POSSIBLE. MUST DELETE/CREATE TABLE + +-- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user); +-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); + + From f6c67404fc26eda45d6e90275784bce8b5b06ebe Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 23 Nov 2013 14:20:03 +0100 Subject: [PATCH 16/51] Remove useless warning emails --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index efa6b3f28fc..26d4c64fef2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ notifications: email: on_success: never # [always|never|change] default: change - on_failure: always # [always|never|change] default: always + on_failure: change # [always|never|change] default: always services: - memcached # will start memcached From 8496b1787cebae9f6e7780e96364a60e8c452a4c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 23 Nov 2013 14:46:46 +0100 Subject: [PATCH 17/51] Color too agressive --- htdocs/theme/eldy/style.css.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index ea44564b8d5..bfcb428c659 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -1979,14 +1979,14 @@ div.ok { } div.warning { - color: #504020; + color: #302020; padding: 0.3em 0.3em 0.3em 0.3em; margin: 0.5em 0em 0.5em 0em; border: 1px solid #e0d0b0; -moz-border-radius:6px; -webkit-border-radius: 6px; border-radius: 6px; - background: #FFEF9A; + background: #EFDF9A; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); } From 64031f92fab7f3c37ab5a4494d9971a70628557c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 22 Nov 2013 11:45:42 +0100 Subject: [PATCH 18/51] Fix: Problem with W3C and wrapping of some title lines. --- htdocs/core/lib/functions.lib.php | 4 ++-- htdocs/product/liste.php | 17 +++++++++++------ htdocs/theme/eldy/style.css.php | 3 --- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 220721d6f5e..dead4b4beb4 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2395,8 +2395,8 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m // If field is used as sort criteria we use a specific class // Example if (sortfield,field)=("nom","xxx.nom") or (sortfield,field)=("nom","nom") - if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel" '. $moreattrib.'>'; - else $out.= '<'.$tag.' class="liste_titre" '. $moreattrib.'>'; + if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel'.($field?' nowrap':'').'" '. $moreattrib.'>'; + else $out.= '<'.$tag.' class="liste_titre'.($field?' nowrap':'').'" '. $moreattrib.'>'; if (! empty($conf->dol_optimize_smallscreen) && empty($thead) && $field) // If this is a sort field { diff --git a/htdocs/product/liste.php b/htdocs/product/liste.php index efe4799bdee..30ed2fd95b1 100644 --- a/htdocs/product/liste.php +++ b/htdocs/product/liste.php @@ -271,6 +271,13 @@ else // Filter on categories $moreforfilter=''; + $colspan=6; + if (! empty($conf->barcode->enabled)) $colspan++; + if (! empty($conf->service->enabled) && $type != 0) $colspan++; + if (empty($conf->global->PRODUIT_MULTIPRICES)) $colspan++; + if ($user->rights->fournisseur->lire) $colspan++; + if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) $colspan+=2; + if (! empty($conf->categorie->enabled)) { $moreforfilter.=$langs->trans('Categories'). ': '; @@ -280,22 +287,20 @@ else if ($moreforfilter) { print '
'; + print ''; print $moreforfilter; print '
'.$langs->trans("BuyingPriceMinShort").''.$langs->trans("BuyingPriceMinShort").''.$langs->trans("DesiredStock").''.$langs->trans("PhysicalStock").''; print ' '; print ' 
'; print ""; print ""; @@ -595,7 +595,8 @@ if ($action == 'edit' || $action == 'updateedit') $var=true; $var=!$var; - print ""; + // Note: When option is not set, it must not appears as set on on, because there is no default value for this option + print ""; print '
".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."
'; print ""; print ""; @@ -941,7 +942,7 @@ else $var=true; $var=!$var; - print ""; + print ""; print '
".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."
'; print ""; print ""; @@ -974,7 +975,7 @@ else $var=true; $var=!$var; - print ""; + print ""; print ''; include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; - $formactions = new FormActions ( $db ); + $formactions=new FormActions($db); print ''; print ''; // Legend @@ -140,10 +140,10 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh { if (count($showextcals) > 0) { - print ''; + print ''; foreach ($showextcals as $val) { - $htmlname = dol_string_nospecial ( $val ['name'] ); + $htmlname = dol_string_nospecial($val['name']); print '
".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."
'; print ""; print ""; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 66d40e480ba..4e50a081079 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -2552,8 +2552,8 @@ class Societe extends CommonObject $this->tva_assuj=((isset($conf->global->FACTURE_TVAOPTION) && $conf->global->FACTURE_TVAOPTION=='franchise')?0:1); // Define if company use local taxes - $this->localtax1_assuj=((isset($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')?1:0); - $this->localtax2_assuj=((isset($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')?1:0); + $this->localtax1_assuj=((isset($conf->global->FACTURE_LOCAL_TAX1_OPTION) && ($conf->global->FACTURE_LOCAL_TAX1_OPTION=='1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on'))?1:0); + $this->localtax2_assuj=((isset($conf->global->FACTURE_LOCAL_TAX2_OPTION) && ($conf->global->FACTURE_LOCAL_TAX2_OPTION=='1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on'))?1:0); } /** From 6615ee7e6f12a8298b29ae84e95c90966f7d75a8 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Sat, 23 Nov 2013 14:59:28 +0100 Subject: [PATCH 20/51] [ bug #1148 ] Product consomation : supplier order bad status --- ChangeLog | 1 + htdocs/product/stats/commande_fournisseur.php | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4702e01e0a1..c49735f97e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,7 @@ Fix: [ bug #1105 ] Searching Boxes other search option Fix: wrong buy price update Fix: [ bug #1142 ] Set paiement on invoice (PGSql) Fix: [ bug #1145 ] Agenda button list type do not display +Fix: [ bug #1148 ] Product consomation : supplier order bad status ***** ChangeLog for 3.4.1 compared to 3.4.0 ***** Fix: Display buying price on line edit when no supplier price is defined diff --git a/htdocs/product/stats/commande_fournisseur.php b/htdocs/product/stats/commande_fournisseur.php index 0e8b5509149..f8d73c3e5e9 100644 --- a/htdocs/product/stats/commande_fournisseur.php +++ b/htdocs/product/stats/commande_fournisseur.php @@ -25,7 +25,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $langs->load("orders"); @@ -136,8 +136,8 @@ if ($id > 0 || ! empty($ref)) print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"c.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); print "\n"; - $commandestatic=new Commande($db); - + $commandestatic=new CommandeFournisseur($db); + if ($num > 0) { $var=True; @@ -145,17 +145,19 @@ if ($id > 0 || ! empty($ref)) { $objp = $db->fetch_object($result); $var=!$var; + + $commandestatic->id=$objp->commandeid; + $commandestatic->ref=$objp->ref; + $commandestatic->statut=$objp->statut; print ""; - print '\n"; + print '\n"; print ''; print "\n"; print ""; print "\n"; - print ''; + print ''; print "\n"; $i++; } From 628e8bea83c3a3c1d87c49a72f44b1315c7fa1ce Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 23 Nov 2013 15:22:27 +0100 Subject: [PATCH 21/51] Fix: Missing error message when files were too large. --- htdocs/adherents/fiche.php | 22 +++++++++++++++---- htdocs/societe/soc.php | 45 +++++++++++++++++++++++++++++--------- 2 files changed, 53 insertions(+), 14 deletions(-) diff --git a/htdocs/adherents/fiche.php b/htdocs/adherents/fiche.php index d019e4004d8..399cc712297 100644 --- a/htdocs/adherents/fiche.php +++ b/htdocs/adherents/fiche.php @@ -321,6 +321,7 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer) $result=$object->update($user,0,$nosyncuser,$nosyncuserpass); if ($result >= 0 && ! count($object->errors)) { + // Logo/Photo save $dir= $conf->adherent->dir_output . '/' . get_exdir($object->id,2,0,1).'/photos'; $file_OK = is_uploaded_file($_FILES['photo']['tmp_name']); if ($file_OK) @@ -361,8 +362,21 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer) $errmsgs[] = "ErrorBadImageFormat"; } } + else + { + switch($_FILES['photo']['error']) + { + case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini + case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form + $errors[] = "ErrorFileSizeTooLarge"; + break; + case 3: //uploaded file was only partially uploaded + $errors[] = "ErrorFilePartiallyUploaded"; + break; + } + } - $rowid=$object->id; + $rowid=$object->id; $action=''; if (! empty($backtopage)) @@ -848,11 +862,11 @@ else print ''; // Skype - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled)) { print ''; } - + // Birthday print "'; } - + // Birthday print "'; } - + // Phone / Fax print ''; print ''; @@ -1273,13 +1298,13 @@ else // EMail / Web print ''; print ''; - + // Skype if (! empty($conf->skype->enabled)) { print ''; } - + // Phone / Fax print ''; print ''; @@ -1587,7 +1612,7 @@ else print ''; - + // Skype if (! empty($conf->skype->enabled)) { From 8e313ef32d890160e7e978dab96beb6b680e416f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 23 Nov 2013 16:17:20 +0100 Subject: [PATCH 22/51] Fix: Can add ban record but was not possible to delete --- htdocs/core/lib/functions.lib.php | 2 +- htdocs/langs/en_US/banks.lang | 2 + htdocs/langs/fr_FR/banks.lang | 2 + .../class/companybankaccount.class.php | 40 ++++++++- htdocs/societe/rib.php | 84 +++++++++++++++---- 5 files changed, 108 insertions(+), 22 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index dead4b4beb4..8da52e301e6 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2358,7 +2358,7 @@ function dol_print_error_email($prefixcode) * @param string $field Field to use for new sorting * @param string $begin ("" by defaut) * @param string $moreparam Add more parameters on sort url links ("" by default) - * @param string $td Options of attribute td ("" by defaut) + * @param string $td Options of attribute td ("" by defaut, example: 'align="center"') * @param string $sortfield Current field used to sort * @param string $sortorder Current sort order * @return void diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index 3503ff11e62..e4de38e621e 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -154,3 +154,5 @@ DefaultRIB=Default BAN AllRIB=All BAN LabelRIB=BAN Label NoBANRecord=No BAN record +DeleteARib=Delete BAN record +ConfirmDeleteRib=Are you sure you want to delete this BAN record ? diff --git a/htdocs/langs/fr_FR/banks.lang b/htdocs/langs/fr_FR/banks.lang index 29440edd862..4d44e9619eb 100644 --- a/htdocs/langs/fr_FR/banks.lang +++ b/htdocs/langs/fr_FR/banks.lang @@ -154,3 +154,5 @@ DefaultRIB=RIB par défaut AllRIB=Tous les RIB LabelRIB=Nom du RIB NoBANRecord=Aucun RIB enregistré +DeleteARib=Supprimé RIB enregistré +ConfirmDeleteRib=Etes vous sur de vouloir supprimé ce RIB ? diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index 8b8e3b382c7..fe1726ab345 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -77,13 +77,23 @@ class CompanyBankAccount extends Account { $now=dol_now(); - $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe_rib (fk_soc, datec) values ($this->socid, '".$this->db->idate($now)."')"; + // Correct default_rib to be sure to have always one default + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe_rib where fk_soc = ".$this->socid." AND default_rib = 1"; + $result = $this->db->query($sql); + if ($result) + { + $numrows=$this->db->num_rows($result); + if ($this->default_rib && $numrows > 0) $this->default_rib = 0; + if (empty($this->default_rib) && $numrows == 0) $this->default_rib = 1; + } + + $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe_rib (fk_soc, datec)"; + $sql.= " VALUES (".$this->socid.", '".$this->db->idate($now)."')"; $resql=$this->db->query($sql); if ($resql) { if ($this->db->affected_rows($resql)) { - $this->default_rib = 1; $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."societe_rib"); return 1; } @@ -120,7 +130,7 @@ class CompanyBankAccount extends Account // return 0; // } - if (!$this->id) { + if (! $this->id) { $this->create(); } @@ -204,6 +214,30 @@ class CompanyBankAccount extends Account } } + /** + * Delete a rib from database + * + * @param User $user User deleting + * @return int <0 if KO, >0 if OK + */ + function delete($user) + { + global $conf; + + $sql = "DELETE FROM ".MAIN_DB_PREFIX."societe_rib"; + $sql.= " WHERE rowid = ".$this->id; + + dol_syslog(get_class($this)."::delete sql=".$sql); + $result = $this->db->query($sql); + if ($result) { + return 1; + } + else { + dol_print_error($this->db); + return -1; + } + } + /** * Return RIB * diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index b3432d105a8..819c3b6986c 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -31,11 +31,12 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/companybankaccount.class.php'; $langs->load("companies"); +$langs->load("commercial"); $langs->load("banks"); $langs->load("bills"); // Security check -$socid = isset($_GET["socid"])?$_GET["socid"]:''; +$socid = GETPOST("socid"); if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'societe','',''); @@ -43,17 +44,21 @@ $soc = new Societe($db); $soc->id = $_GET["socid"]; $soc->fetch($_GET["socid"]); +$id=GETPOST("id","int"); +$ribid=GETPOST("ribid","int"); +$action=GETPOST("action"); + /* * Actions */ -if ($_POST["action"] == 'update' && ! $_POST["cancel"]) +if ($action == 'update' && ! $_POST["cancel"]) { // Modification $account = new CompanyBankAccount($db); - $account->fetch($_POST["id"]); + $account->fetch($id); $account->socid = $soc->id; @@ -85,7 +90,7 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"]) } } -if ($_POST["action"] == 'add' && ! $_POST["cancel"]) +if ($action == 'add' && ! $_POST["cancel"]) { // Ajout $account = new CompanyBankAccount($db); @@ -106,7 +111,7 @@ if ($_POST["action"] == 'add' && ! $_POST["cancel"]) $account->proprio = $_POST["proprio"]; $account->owner_address = $_POST["owner_address"]; - $result = $account->update($user); + $result = $account->update($user); // TODO Use create and include update into create method if (! $result) { $message=$account->error; @@ -120,10 +125,10 @@ if ($_POST["action"] == 'add' && ! $_POST["cancel"]) } } -if ($_GET['action'] == 'setasdefault') +if ($action == 'setasdefault') { $account = new CompanyBankAccount($db); - $res = $account->setAsDefault($_GET['ribid']); + $res = $account->setAsDefault(GETPOST('ribid','int')); if ($res) { $url=DOL_URL_ROOT.'/societe/rib.php?socid='.$soc->id; header('Location: '.$url); @@ -133,10 +138,35 @@ if ($_GET['action'] == 'setasdefault') } } +if ($action == 'confirm_delete' && $_GET['confirm'] == 'yes') +{ + $account = new CompanyBankAccount($db); + if ($account->fetch($ribid?$ribid:$id)) + { + $result = $account->delete($user); + if ($result > 0) + { + $url = $_SERVER['PHP_SELF']."?socid=".$soc->id; + header('Location: '.$url); + exit; + } + else + { + $message = $account->error; + } + } + else + { + $message = $account->error; + } +} + /* * View */ +$form = new Form($db); + llxHeader(); $head=societe_prepare_head2($soc); @@ -144,10 +174,10 @@ $head=societe_prepare_head2($soc); dol_fiche_head($head, 'rib', $langs->trans("ThirdParty"),0,'company'); $account = new CompanyBankAccount($db); -if (!$_GET['id']) +if (! $id) $account->fetch(0,$soc->id); else - $account->fetch($_GET['id']); + $account->fetch($id); if (empty($account->socid)) $account->socid=$soc->id; @@ -158,10 +188,17 @@ if (empty($account->socid)) $account->socid=$soc->id; /* */ /* ************************************************************************** */ -if ($_GET["socid"] && $_GET["action"] != 'edit' && $_GET["action"] != "create") +if ($socid && $action != 'edit' && $action != "create") { + // Confirm delete third party + if ($action == 'delete') + { + print $form->formconfirm($_SERVER["PHP_SELF"]."?socid=".$soc->id."&ribid=".($ribid?$ribid:$id), $langs->trans("DeleteARib"), $langs->trans("ConfirmDeleteRib", $account->getRibLabel()), "confirm_delete", '', 0, 1); + } + print_titre($langs->trans("DefaultRIB")); - print '
".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."
'.img_object($langs->trans("ShowOrder"),"order").' '; - print $objp->ref; - print "'.$commandestatic->getNomUrl(1)."'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->nom,44).'".$objp->code_client.""; print dol_print_date($db->jdate($objp->date_commande))."".price($objp->total_ht)."'.$commandestatic->LibStatut($objp->statut,$objp->facture,5).''.$commandestatic->getLibStatut(4).'
'.$langs->trans("PhoneMobile").'
'.$langs->trans("Skype").'
".$langs->trans("Birthday")."\n"; $form->select_date(($object->naiss ? $object->naiss : -1),'naiss','','',1,'formsoc'); @@ -1093,7 +1107,7 @@ else if (! empty($conf->skype->enabled)) { print '
'.$langs->trans("Skype").'skype).'">
".$langs->trans("Birthday")."\n"; $form->select_date(($object->birth ? $object->birth : -1),'birth','','',1,'formsoc'); diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 07610bb88ba..9d5a707aac1 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -4,10 +4,9 @@ * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005 Eric Seigne * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2008 Patrick Raguin + * Copyright (C) 2008 Patrick Raguin * Copyright (C) 2010-2013 Juanjo Menent - * Copyright (C) 2011-2013 Alexandre Spangaro - * + * Copyright (C) 2011-2013 Alexandre Spangaro * * 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 @@ -280,7 +279,7 @@ if (empty($reshook)) } } - // Gestion du logo de la société + // Logo/Photo save $dir = $conf->societe->multidir_output[$conf->entity]."/".$object->id."/logos/"; $file_OK = is_uploaded_file($_FILES['photo']['tmp_name']); if ($file_OK) @@ -311,6 +310,19 @@ if (empty($reshook)) } } } + else + { + switch($_FILES['photo']['error']) + { + case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini + case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form + $errors[] = "ErrorFileSizeTooLarge"; + break; + case 3: //uploaded file was only partially uploaded + $errors[] = "ErrorFilePartiallyUploaded"; + break; + } + } // Gestion du logo de la société } else @@ -354,7 +366,7 @@ if (empty($reshook)) $error = $object->error; $errors = $object->errors; } - // Gestion du logo de la société + // Logo/Photo save $dir = $conf->societe->multidir_output[$object->entity]."/".$object->id."/logos"; $file_OK = is_uploaded_file($_FILES['photo']['tmp_name']); if ($file_OK) @@ -393,10 +405,23 @@ if (empty($reshook)) } } else - { + { $errors[] = "ErrorBadImageFormat"; } } + else + { + switch($_FILES['photo']['error']) + { + case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini + case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form + $errors[] = "ErrorFileSizeTooLarge"; + break; + case 3: //uploaded file was only partially uploaded + $errors[] = "ErrorFilePartiallyUploaded"; + break; + } + } // Gestion du logo de la société @@ -855,7 +880,7 @@ else { print '
'.$langs->trans('Skype').'
'.$langs->trans('Phone').''.$langs->trans('Fax').'
'.$langs->trans('EMail').(! empty($conf->global->SOCIETE_MAIL_REQUIRED)?'*':'').'
'.$langs->trans('Web').'
'.$langs->trans('Skype').'
'.$langs->trans('Phone').''.$langs->trans('Fax').'
'.$langs->trans('Web').''; print dol_print_url($object->url); print '
'; + + print '
'; print ''; print ''; @@ -236,11 +273,12 @@ if ($_GET["socid"] && $_GET["action"] != 'edit' && $_GET["action"] != "create") print_liste_field_titre($langs->trans("LabelRIB")); print_liste_field_titre($langs->trans("Bank")); print_liste_field_titre($langs->trans("RIB")); - print_liste_field_titre($langs->trans("DefaultRIB")); + print_liste_field_titre($langs->trans("DefaultRIB"), '', '', '', '', 'align="center"'); print ''; print ''; - foreach ($rib_list as $rib) { + foreach ($rib_list as $rib) + { print ""; print ''; print ''; @@ -248,16 +286,26 @@ if ($_GET["socid"] && $_GET["action"] != 'edit' && $_GET["action"] != "create") print ''; print ''; print ''; $var = !$var; From aa3c16b6af1909ad729ddd6d50282ff268521889 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 23 Nov 2013 16:34:08 +0100 Subject: [PATCH 23/51] Fix: chars were lost by function --- htdocs/core/lib/xcal.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/xcal.lib.php b/htdocs/core/lib/xcal.lib.php index 9badeae5290..4483e9540e5 100644 --- a/htdocs/core/lib/xcal.lib.php +++ b/htdocs/core/lib/xcal.lib.php @@ -484,7 +484,7 @@ function quotedPrintEncode($str,$forcal=0) { $newpara = ''; - $strlength=dol_strlen($line); + $strlength=strlen($line); // Do not use dol_strlen here, we need number of bytes for ($j = 0; $j <= ($strlength - 1); $j++) { $char = substr($line, $j, 1); @@ -493,7 +493,7 @@ function quotedPrintEncode($str,$forcal=0) if ( $ascii < 32 || $ascii == 61 || $ascii > 126 ) $char = '=' . strtoupper(sprintf("%02X", $ascii)); - if ((dol_strlen($newpara) + dol_strlen($char)) >= 76 ) + if ((strlen($newpara) + strlen($char)) >= 76 ) // Do not use dol_strlen here, we need number of bytes { $out .= $newpara . '=' . "\r\n"; // CRLF if ($forcal) $out .= " "; // + Space for cal From e45406694bad98a794542606027396957e780354 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 23 Nov 2013 19:28:41 +0100 Subject: [PATCH 24/51] Fix: no filter is value is '' --- htdocs/comm/action/class/actioncomm.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 33057e96eb8..b10bb5f90a3 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -887,7 +887,7 @@ class ActionComm extends CommonObject $sql.= " AND a.entity = ".$conf->entity; foreach ($filters as $key => $value) { - if ($key == 'notolderthan') $sql.=" AND a.datep >= '".$this->db->idate($now-($value*24*60*60))."'"; + if ($key == 'notolderthan' && $value != '') $sql.=" AND a.datep >= '".$this->db->idate($now-($value*24*60*60))."'"; if ($key == 'year') $sql.=" AND a.datep BETWEEN '".$this->db->idate(dol_get_first_day($value,1))."' AND '".$this->db->idate(dol_get_last_day($value,12))."'"; if ($key == 'id') $sql.=" AND a.id=".(is_numeric($value)?$value:0); if ($key == 'idfrom') $sql.=" AND a.id >= ".(is_numeric($value)?$value:0); From 1f7e6a42c2f6ea58680488bde806252a28935a84 Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Sun, 24 Nov 2013 11:33:36 +0100 Subject: [PATCH 25/51] add a Social contributions type and fix some language stuff --- htdocs/install/mysql/migration/2.1.0-2.2.0.sql | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/htdocs/install/mysql/migration/2.1.0-2.2.0.sql b/htdocs/install/mysql/migration/2.1.0-2.2.0.sql index 070682d3c50..cc3988f8a42 100644 --- a/htdocs/install/mysql/migration/2.1.0-2.2.0.sql +++ b/htdocs/install/mysql/migration/2.1.0-2.2.0.sql @@ -71,12 +71,13 @@ update llx_bank set dateo = datec where datev = '1970-01-01 00:00:00' and rappro alter table llx_c_chargesociales add column actioncompta varchar(12) NOT NULL; insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values ( 1, 'Allocations familiales', 1,1,'TAXFAM'); -insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values ( 2, 'GSG Deductible', 1,1,'TAXCSGD'); -insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values ( 3, 'GSG/CRDS NON Deductible',0,1,'TAXCSGND'); -insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (10, 'Taxe apprenttissage', 0,1,'TAXAPP'); +insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values ( 2, 'GSG Déductible', 1,1,'TAXCSGD'); +insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values ( 3, 'GSG/CRDS NON Déductible',0,1,'TAXCSGND'); +insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (10, 'Taxe apprentissage', 0,1,'TAXAPP'); insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (11, 'Taxe professionnelle', 0,1,'TAXPRO'); +insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (12, 'Contribution à la formation professionnelle', 1,1,'TAXOPCA'); insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (20, 'Impots locaux/fonciers', 0,1,'TAXFON'); -insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (30, 'Assurance Sante (SECU-URSSAF)', 0,1,'TAXSECU'); +insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (30, 'Assurance Santé (SECU-URSSAF)', 0,1,'TAXSECU'); insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (40, 'Mutuelle', 0,1,'TAXMUT'); insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (50, 'Assurance vieillesse (CNAV)', 0,1,'TAXRET'); insert into llx_c_chargesociales (id, libelle, deductible, active, actioncompta) values (60, 'Assurance Chomage (ASSEDIC)', 0,1,'TAXCHOM'); From b75137d4ffccafcd6b53943a0183552ed4004f3e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 24 Nov 2013 13:02:20 +0100 Subject: [PATCH 26/51] Fix files that should not mix tab and spaces indent. --- build/rpm/dolibarr_fedora.spec | 90 ++++++------ build/rpm/dolibarr_generic.spec | 240 +++++++++++++++---------------- build/rpm/dolibarr_mandriva.spec | 108 +++++++------- build/rpm/dolibarr_opensuse.spec | 110 +++++++------- dev/fixnotabfiles.sh | 26 ++++ 5 files changed, 300 insertions(+), 274 deletions(-) create mode 100755 dev/fixnotabfiles.sh diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 4d6ba6a078d..b0d24f6d6d6 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -117,9 +117,9 @@ do lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`; echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang if [ "$lang1" = "$lang2" ] ; then - echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" + echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" else - echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" + echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" fi done >>%{name}.lang @@ -238,20 +238,20 @@ echo Create document directory $docdir export config=%{_sysconfdir}/dolibarr/conf.php if [ -s $config ] && grep -q "File generated by" $config then - # File already exist. We add params not found. - echo Add new params to overwrite path to use shared libraries/fonts - grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "" >> $config - grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "" >> $config - #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "" >> $config - grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "" >> $config - grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "" >> $config - #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "" >> $config - #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "" >> $config - grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "" >> $config - grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config + # File already exist. We add params not found. + echo Add new params to overwrite path to use shared libraries/fonts + grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "" >> $config + grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "" >> $config + #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "" >> $config + grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "" >> $config + grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "" >> $config + #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "" >> $config + #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "" >> $config + grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "" >> $config + grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config fi # Create config for SE Linux @@ -264,13 +264,13 @@ restorecon -R -v /var/lib/dolibarr # Create a config link dolibarr.conf if [ ! -L $apachelink ]; then - apachelinkdir=`dirname $apachelink` - if [ -d $apachelinkdir ]; then - echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink - ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink - else - echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed - fi + apachelinkdir=`dirname $apachelink` + if [ -d $apachelinkdir ]; then + echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink + ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink + else + echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed + fi fi echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr @@ -302,30 +302,30 @@ echo if [ "x$1" = "x0" ] ; then - # Remove - echo "Removed package" + # Remove + echo "Removed package" - # Define vars - export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - - # Remove apache link - if [ -L $apachelink ] ; - then - echo "Delete apache config link for Dolibarr ($apachelink)" - %{__rm} -f $apachelink - status=purge - fi - - # Restart web servers if required - if [ "x$status" = "xpurge" ] ; - then - # Restart web server - echo Restart web server - /sbin/service httpd restart - fi + # Define vars + export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + + # Remove apache link + if [ -L $apachelink ] ; + then + echo "Delete apache config link for Dolibarr ($apachelink)" + %{__rm} -f $apachelink + status=purge + fi + + # Restart web servers if required + if [ "x$status" = "xpurge" ] ; + then + # Restart web server + echo Restart web server + /sbin/service httpd restart + fi else - # Upgrade - echo "No remove action done (this is an upgrade)" + # Upgrade + echo "No remove action done (this is an upgrade)" fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index f3d6e9d2e8d..764987dad1e 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -190,9 +190,9 @@ do lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`; echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang if [ "$lang1" = "$lang2" ] ; then - echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" + echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" else - echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" + echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" fi done >>%{name}.lang @@ -323,28 +323,28 @@ export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" # Detect OS os='unknown'; if [ -d %{_sysconfdir}/httpd/conf.d ]; then - export os='fedora-redhat'; - export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; + export os='fedora-redhat'; + export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + export apacheuser='apache'; + export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then - export os='opensuse'; - export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='wwwrun'; - export apachegroup='www'; + export os='opensuse'; + export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + export apacheuser='wwwrun'; + export apachegroup='www'; fi if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then - export os='mageia-mandriva'; - export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; + export os='mageia-mandriva'; + export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + export apacheuser='apache'; + export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then - export os='ubuntu-debian'; - export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='www-data'; - export apachegroup='www-data'; + export os='ubuntu-debian'; + export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + export apacheuser='www-data'; + export apachegroup='www-data'; fi echo OS detected: $os %endif @@ -363,16 +363,16 @@ echo Create document directory $docdir # Create install.forced.php into Dolibarr install directory if [ "x$os" = "xubuntu-debian" ] then - superuserlogin='' - superuserpassword='' - if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then - # Load superuser login and pass - superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') - superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') - fi - echo Mysql superuser found to use is $superuserlogin - %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.generic | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig - %{__chmod} -R 660 $installconfig + superuserlogin='' + superuserpassword='' + if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then + # Load superuser login and pass + superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') + superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') + fi + echo Mysql superuser found to use is $superuserlogin + %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.generic | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + %{__chmod} -R 660 $installconfig fi %endif @@ -383,29 +383,29 @@ fi export config=%{_sysconfdir}/dolibarr/conf.php if [ -s $config ] && grep -q "File generated by" $config then - # File already exist. We add params not found. - echo Add new params to overwrite path to use shared libraries/fonts - grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "" >> $config - grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "" >> $config - #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "" >> $config - grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "" >> $config - grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "" >> $config - #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "" >> $config - #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "" >> $config - grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "" >> $config + # File already exist. We add params not found. + echo Add new params to overwrite path to use shared libraries/fonts + grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "" >> $config + grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "" >> $config + #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "" >> $config + grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "" >> $config + grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "" >> $config + #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "" >> $config + #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "" >> $config + grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "" >> $config %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} - grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config + grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config %else %if 0%{?mdkversion} - grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config + grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config %else %if 0%{?suse_version} - grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config + grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config %else - grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config + grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config %endif %endif %endif @@ -418,12 +418,12 @@ if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then %endif %if 0%{?mdkversion} || 0%{?suse_version} %else - echo Add SE Linux permissions for dolibarr - # semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local - semanage fcontext -a -t httpd_sys_script_rw_t "/etc/dolibarr(/.*?)" - semanage fcontext -a -t httpd_sys_script_rw_t "/var/lib/dolibarr(/.*?)" - restorecon -R -v /etc/dolibarr - restorecon -R -v /var/lib/dolibarr + echo Add SE Linux permissions for dolibarr + # semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local + semanage fcontext -a -t httpd_sys_script_rw_t "/etc/dolibarr(/.*?)" + semanage fcontext -a -t httpd_sys_script_rw_t "/var/lib/dolibarr(/.*?)" + restorecon -R -v /etc/dolibarr + restorecon -R -v /var/lib/dolibarr %endif %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version} %else @@ -432,13 +432,13 @@ fi # Create a config link dolibarr.conf if [ ! -L $apachelink ]; then - apachelinkdir=`dirname $apachelink` - if [ -d $apachelinkdir ]; then - echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink - ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink - else - echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed - fi + apachelinkdir=`dirname $apachelink` + if [ -d $apachelinkdir ]; then + echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink + ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink + else + echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed + fi fi echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr @@ -451,30 +451,30 @@ echo Restart web server /sbin/service httpd restart %else if [ -f %{_sysconfdir}/init.d/httpd ]; then - %{_sysconfdir}/init.d/httpd restart + %{_sysconfdir}/init.d/httpd restart fi if [ -f %{_sysconfdir}/init.d/apache2 ]; then - %{_sysconfdir}/init.d/apache2 restart + %{_sysconfdir}/init.d/apache2 restart fi %endif # Restart mysql server echo Restart mysql server %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} - /sbin/service mysqld restart + /sbin/service mysqld restart %else %if 0%{?suse_version} if [ -f /etc/init.d/mysqld ]; then - /etc/init.d/mysqld restart + /etc/init.d/mysqld restart else - /sbin/service mysql restart + /sbin/service mysql restart fi %else if [ -f /etc/init.d/mysqld ]; then - /etc/init.d/mysqld restart + /etc/init.d/mysqld restart fi if [ -f /etc/init.d/mysql ]; then - /etc/init.d/mysql restart + /etc/init.d/mysql restart fi %endif %endif @@ -497,63 +497,63 @@ echo if [ "x$1" = "x0" ] ; then - # Remove - echo "Removed package" + # Remove + echo "Removed package" - # Define vars - os='unknown'; - %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} - export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - %else - %if 0%{?suse_version} - export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - %else - if [ -d %{_sysconfdir}/httpd/conf.d ]; then - export os='fedora-redhat'; - export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - fi - if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then - export os='opensuse'; - export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - fi - if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then - export os='mageia-mandriva'; - export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - fi - if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then - export os='ubuntu-debian'; - export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - fi - %endif - %endif - - # Remove apache link - if [ -L $apachelink ] ; - then - echo "Delete apache config link for Dolibarr ($apachelink)" - %{__rm} -f $apachelink - status=purge - fi - - # Restart web servers if required - if [ "x$status" = "xpurge" ] ; - then - # Restart web server - echo Restart web server - %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} - /sbin/service httpd restart - %else - if [ -f %{_sysconfdir}/init.d/httpd ]; then - %{_sysconfdir}/init.d/httpd restart - fi - if [ -f %{_sysconfdir}/init.d/apache2 ]; then - %{_sysconfdir}/init.d/apache2 restart - fi - %endif - fi + # Define vars + os='unknown'; + %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} + export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + %else + %if 0%{?suse_version} + export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + %else + if [ -d %{_sysconfdir}/httpd/conf.d ]; then + export os='fedora-redhat'; + export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + fi + if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then + export os='opensuse'; + export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + fi + if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then + export os='mageia-mandriva'; + export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + fi + if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then + export os='ubuntu-debian'; + export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + fi + %endif + %endif + + # Remove apache link + if [ -L $apachelink ] ; + then + echo "Delete apache config link for Dolibarr ($apachelink)" + %{__rm} -f $apachelink + status=purge + fi + + # Restart web servers if required + if [ "x$status" = "xpurge" ] ; + then + # Restart web server + echo Restart web server + %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} + /sbin/service httpd restart + %else + if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart + fi + if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart + fi + %endif + fi else - # Upgrade - echo "No remove action done (this is an upgrade)" + # Upgrade + echo "No remove action done (this is an upgrade)" fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 36b59f7a346..5f34ffd0326 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -114,9 +114,9 @@ do lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`; echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang if [ "$lang1" = "$lang2" ] ; then - echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" + echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" else - echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" + echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" fi done >>%{name}.lang @@ -235,31 +235,31 @@ echo Create document directory $docdir export config=%{_sysconfdir}/dolibarr/conf.php if [ -s $config ] && grep -q "File generated by" $config then - # File already exist. We add params not found. - echo Add new params to overwrite path to use shared libraries/fonts - grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "" >> $config - grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "" >> $config - #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "" >> $config - grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "" >> $config - grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "" >> $config - #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "" >> $config - #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "" >> $config - grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "" >> $config - grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config + # File already exist. We add params not found. + echo Add new params to overwrite path to use shared libraries/fonts + grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "" >> $config + grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "" >> $config + #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "" >> $config + grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "" >> $config + grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "" >> $config + #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "" >> $config + #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "" >> $config + grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "" >> $config + grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config fi # Create a config link dolibarr.conf if [ ! -L $apachelink ]; then - apachelinkdir=`dirname $apachelink` - if [ -d $apachelinkdir ]; then - echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink - ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink - else - echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed - fi + apachelinkdir=`dirname $apachelink` + if [ -d $apachelinkdir ]; then + echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink + ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink + else + echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed + fi fi echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr @@ -269,19 +269,19 @@ echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr # Restart web server echo Restart web server if [ -f %{_sysconfdir}/init.d/httpd ]; then - %{_sysconfdir}/init.d/httpd restart + %{_sysconfdir}/init.d/httpd restart fi if [ -f %{_sysconfdir}/init.d/apache2 ]; then - %{_sysconfdir}/init.d/apache2 restart + %{_sysconfdir}/init.d/apache2 restart fi # Restart mysql echo Restart mysql if [ -f /etc/init.d/mysqld ]; then - /etc/init.d/mysqld restart + /etc/init.d/mysqld restart fi if [ -f /etc/init.d/mysql ]; then - /etc/init.d/mysql restart + /etc/init.d/mysql restart fi # Show result @@ -301,35 +301,35 @@ echo if [ "x$1" = "x0" ] ; then - # Remove - echo "Removed package" + # Remove + echo "Removed package" - # Define vars - export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - - # Remove apache link - if [ -L $apachelink ] ; - then - echo "Delete apache config link for Dolibarr ($apachelink)" - %{__rm} -f $apachelink - status=purge - fi - - # Restart web servers if required - if [ "x$status" = "xpurge" ] ; - then - # Restart web server - echo Restart web server - if [ -f %{_sysconfdir}/init.d/httpd ]; then - %{_sysconfdir}/init.d/httpd restart - fi - if [ -f %{_sysconfdir}/init.d/apache2 ]; then - %{_sysconfdir}/init.d/apache2 restart - fi - fi + # Define vars + export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + + # Remove apache link + if [ -L $apachelink ] ; + then + echo "Delete apache config link for Dolibarr ($apachelink)" + %{__rm} -f $apachelink + status=purge + fi + + # Restart web servers if required + if [ "x$status" = "xpurge" ] ; + then + # Restart web server + echo Restart web server + if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart + fi + if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart + fi + fi else - # Upgrade - echo "No remove action done (this is an upgrade)" + # Upgrade + echo "No remove action done (this is an upgrade)" fi diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index a831bc60e22..03357d369bc 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -115,9 +115,9 @@ do lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`; echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang if [ "$lang1" = "$lang2" ] ; then - echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" + echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" else - echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" + echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang" fi done >>%{name}.lang @@ -246,31 +246,31 @@ echo Create document directory $docdir export config=%{_sysconfdir}/dolibarr/conf.php if [ -s $config ] && grep -q "File generated by" $config then - # File already exist. We add params not found. - echo Add new params to overwrite path to use shared libraries/fonts - grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "" >> $config - grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "" >> $config - #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "" >> $config - grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "" >> $config - grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "" >> $config - #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "" >> $config - #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "" >> $config - grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "" >> $config - grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "" >> $config - grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config + # File already exist. We add params not found. + echo Add new params to overwrite path to use shared libraries/fonts + grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "" >> $config + grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "" >> $config + #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "" >> $config + grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "" >> $config + grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "" >> $config + #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "" >> $config + #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "" >> $config + grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "" >> $config + grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "" >> $config + grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "" >> $config fi # Create a config link dolibarr.conf if [ ! -L $apachelink ]; then - apachelinkdir=`dirname $apachelink` - if [ -d $apachelinkdir ]; then - echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink - ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink - else - echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed - fi + apachelinkdir=`dirname $apachelink` + if [ -d $apachelinkdir ]; then + echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink + ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink + else + echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed + fi fi echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr @@ -280,18 +280,18 @@ echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr # Restart web server echo Restart web server if [ -f %{_sysconfdir}/init.d/httpd ]; then - %{_sysconfdir}/init.d/httpd restart + %{_sysconfdir}/init.d/httpd restart fi if [ -f %{_sysconfdir}/init.d/apache2 ]; then - %{_sysconfdir}/init.d/apache2 restart + %{_sysconfdir}/init.d/apache2 restart fi # Restart mysql echo Restart mysql if [ -f /etc/init.d/mysqld ]; then - /etc/init.d/mysqld restart + /etc/init.d/mysqld restart else - /sbin/service mysql restart + /sbin/service mysql restart fi # Show result @@ -311,35 +311,35 @@ echo if [ "x$1" = "x0" ] ; then - # Remove - echo "Removed package" - - # Define vars - export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - - # Remove apache link - if [ -L $apachelink ] ; - then - echo "Delete apache config link for Dolibarr ($apachelink)" - %{__rm} -f $apachelink - status=purge - fi - - # Restart web servers if required - if [ "x$status" = "xpurge" ] ; - then - # Restart web server - echo Restart web server - if [ -f %{_sysconfdir}/init.d/httpd ]; then - %{_sysconfdir}/init.d/httpd restart - fi - if [ -f %{_sysconfdir}/init.d/apache2 ]; then - %{_sysconfdir}/init.d/apache2 restart - fi - fi + # Remove + echo "Removed package" + + # Define vars + export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + + # Remove apache link + if [ -L $apachelink ] ; + then + echo "Delete apache config link for Dolibarr ($apachelink)" + %{__rm} -f $apachelink + status=purge + fi + + # Restart web servers if required + if [ "x$status" = "xpurge" ] ; + then + # Restart web server + echo Restart web server + if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart + fi + if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart + fi + fi else - # Upgrade - echo "No remove action done (this is an upgrade)" + # Upgrade + echo "No remove action done (this is an upgrade)" fi diff --git a/dev/fixnotabfiles.sh b/dev/fixnotabfiles.sh new file mode 100755 index 00000000000..3e5d28966c9 --- /dev/null +++ b/dev/fixnotabfiles.sh @@ -0,0 +1,26 @@ +#!/bin/sh +#------------------------------------------------------ +# Script to find files that are not Unix encoded +# +# Laurent Destailleur - eldy@users.sourceforge.net +#------------------------------------------------------ +# Usage: fixnotabfiles.sh [list|fix] +#------------------------------------------------------ + +# Syntax +if [ "x$1" != "xlist" -a "x$1" != "xfix" ] +then + echo "Usage: fixnotabfiles.sh [list|fix]" +fi + +# To detec +if [ "x$1" = "xlist" ] +then + find build \( -iname "*.sh" -o -iname "*.spec" \) -exec grep -l -P '\t' {} \; +fi + +# To convert +if [ "x$1" = "xfix" ] +then + echo Feature not implemented. Please fix files manually. +fi From 8cd0647d7e74df8b00200dc63f64dace6daf909a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 24 Nov 2013 13:40:33 +0100 Subject: [PATCH 27/51] Fix: business rule to protect button and action was not synchronized --- htdocs/user/param_ihm.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index 54a9093bd34..44686e9277e 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2013 Laurent Destailleur * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * @@ -78,7 +78,7 @@ $formadmin=new FormAdmin($db); /* * Actions */ -if ($action == 'update' && ($caneditfield || $user->admin)) +if ($action == 'update' && ($caneditfield || ! empty($user->admin))) { if (! $_POST["cancel"]) { @@ -258,7 +258,7 @@ else } else { - if ($user->id == $fuser->id || ! empty($user->admin)) // Si utilisateur edite = utilisateur courant (pas besoin de droits particulier car il s'agit d'une page de modif d'output et non de données) ou si admin + if ($caneditfield || ! empty($user->admin)) // Si utilisateur edite = utilisateur courant (pas besoin de droits particulier car il s'agit d'une page de modif d'output et non de données) ou si admin { print 'id.'">'.$langs->trans("Modify").''; } From 65b6dca55481b1c7a402f816a8341c78ce10fbc5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 24 Nov 2013 13:40:33 +0100 Subject: [PATCH 28/51] Fix: business rule to protect button and action was not synchronized --- htdocs/user/param_ihm.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index 54a9093bd34..44686e9277e 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2013 Laurent Destailleur * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * @@ -78,7 +78,7 @@ $formadmin=new FormAdmin($db); /* * Actions */ -if ($action == 'update' && ($caneditfield || $user->admin)) +if ($action == 'update' && ($caneditfield || ! empty($user->admin))) { if (! $_POST["cancel"]) { @@ -258,7 +258,7 @@ else } else { - if ($user->id == $fuser->id || ! empty($user->admin)) // Si utilisateur edite = utilisateur courant (pas besoin de droits particulier car il s'agit d'une page de modif d'output et non de données) ou si admin + if ($caneditfield || ! empty($user->admin)) // Si utilisateur edite = utilisateur courant (pas besoin de droits particulier car il s'agit d'une page de modif d'output et non de données) ou si admin { print 'id.'">'.$langs->trans("Modify").''; } From 08e44135bf9074509c4ae7554c25524dd79df121 Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Sun, 24 Nov 2013 14:47:44 +0100 Subject: [PATCH 29/51] add missing trad --- htdocs/langs/en_US/compta.lang | 6 ++++++ htdocs/langs/fr_FR/compta.lang | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 0f1f9829e55..48aa8be111a 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -167,5 +167,11 @@ CalculationRuleDesc=To calculate total VAT, there is two methods:
Method 1 is CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier. TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a cash accountancy mode is not relevant. This report is only available when using engagement accountancy mode (see setup of accountancy module). CalculationMode=Calculation mode +COMPTA_PRODUCT_BUY_ACCOUNT=Code comptable par défaut des achats de marchandises +COMPTA_PRODUCT_SOLD_ACCOUNT=Code comptable par défaut des ventes de marchandises +COMPTA_SERVICE_BUY_ACCOUNT=Code comptable par défaut des achats de services +COMPTA_SERVICE_SOLD_ACCOUNT=Code comptable par défaut des ventes de services +COMPTA_VAT_ACCOUNT=Code comptable par défaut de la TVA collectée +COMPTA_VAT_BUY_ACCOUNT=Code comptable par défaut de la TVA déductible COMPTA_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties COMPTA_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 19b240c5165..540f92e135f 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -167,5 +167,11 @@ CalculationRuleDesc=Pour calculer le total de TVA, il existe 2 modes:
Le mode CalculationRuleDescSupplier=Selon le mode utilisé par le fournisseur, choisissez le mode adéquat afin d'appliquer la même règle et obtenir un résultat identique au mode appliqué par votre fournisseur. TurnoverPerProductInCommitmentAccountingNotRelevant=Le chiffre d'affaire par produit, dans une comptabilité en mode comptabilité de caisse n'est pas définissable. Ce rapport n'est disponible qu'en mode de comptabilité dit comptabilité d'engagement (voir la configuration du module de comptabilité). CalculationMode=Mode de calcul +COMPTA_PRODUCT_BUY_ACCOUNT=Code comptable par défaut des achats de marchandises +COMPTA_PRODUCT_SOLD_ACCOUNT=Code comptable par défaut des ventes de marchandises +COMPTA_SERVICE_BUY_ACCOUNT=Code comptable par défaut des achats de services +COMPTA_SERVICE_SOLD_ACCOUNT=Code comptable par défaut des ventes de services +COMPTA_VAT_ACCOUNT=Code comptable par défaut de la TVA collectée +COMPTA_VAT_BUY_ACCOUNT=Code comptable par défaut de la TVA déductible COMPTA_ACCOUNT_CUSTOMER=Code comptable par défaut des tiers clients COMPTA_ACCOUNT_SUPPLIER=Code comptable par défaut des tiers fournisseurs From 8f9143cef7065c7b9dacbf5e405bb385b707b6e4 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Sun, 24 Nov 2013 18:07:40 +0100 Subject: [PATCH 30/51] revert param_ihm --- htdocs/core/lib/usergroups.lib.php | 11 ++++------- htdocs/user/param_ihm.php | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 41fca18e278..041234bf206 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -66,13 +66,10 @@ function user_prepare_head($object) $h++; } - //Display this tab only if can updte information - if (!empty($user->admin) || !empty($user->rights->user->self->creer)) { - $head[$h][0] = DOL_URL_ROOT.'/user/param_ihm.php?id='.$object->id; - $head[$h][1] = $langs->trans("UserGUISetup"); - $head[$h][2] = 'guisetup'; - $h++; - } + $head[$h][0] = DOL_URL_ROOT.'/user/param_ihm.php?id='.$object->id; + $head[$h][1] = $langs->trans("UserGUISetup"); + $head[$h][2] = 'guisetup'; + $h++; if (! empty($conf->clicktodial->enabled)) { diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index a6b718f83b8..54a9093bd34 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -258,7 +258,7 @@ else } else { - if (($user->id == $fuser->id || ! empty($user->admin)) && $caneditfield) // Si utilisateur edite = utilisateur courant (pas besoin de droits particulier car il s'agit d'une page de modif d'output et non de données) ou si admin + if ($user->id == $fuser->id || ! empty($user->admin)) // Si utilisateur edite = utilisateur courant (pas besoin de droits particulier car il s'agit d'une page de modif d'output et non de données) ou si admin { print 'id.'">'.$langs->trans("Modify").''; } From baebc7e91db24dba5fd6ff7238afd918d03f501c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 24 Nov 2013 19:33:22 +0100 Subject: [PATCH 31/51] Fix: Not coherent filename --- build/makepack-dolibarr.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 05eef72a978..6390e6c81f5 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -483,11 +483,12 @@ if ($nboftargetok) { $newbuild =~ s/(dev|alpha)/0.1.a/gi; # dev $newbuild =~ s/beta/0.2.beta1/gi; # beta $newbuild =~ s/rc./0.3.rc1/gi; # rc - if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale + if ($newbuild !~ /-/) { $newbuild.='-0.3'; } # finale #$newbuild =~ s/(dev|alpha)/0/gi; # dev #$newbuild =~ s/beta/1/gi; # beta #$newbuild =~ s/rc./2/gi; # rc #if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale + #print "newbuild=".$newbuild."\n";exit; $REL1 = $newbuild; $REL1 =~ s/-.*$//gi; if ($RPMSUBVERSION eq 'auto') { $RPMSUBVERSION = $newbuild; $RPMSUBVERSION =~ s/^.*-//gi; } print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n"; From e1b4d012353d54d98014a69d7c67d219a4a1ef89 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Sun, 24 Nov 2013 21:28:15 +0100 Subject: [PATCH 32/51] Improvement of the Skype button Perm & add a button"Chat" --- htdocs/adherents/fiche.php | 12 ++++++++---- htdocs/comm/fiche.php | 2 +- htdocs/contact/fiche.php | 6 +++--- htdocs/contact/list.php | 6 +++--- htdocs/core/lib/company.lib.php | 21 +++++++++++---------- htdocs/core/lib/functions.lib.php | 13 ++++++++----- htdocs/langs/en_US/companies.lang | 1 + htdocs/societe/soc.php | 18 +++++++++--------- htdocs/theme/common/skype_callbutton.png | Bin 0 -> 3768 bytes htdocs/theme/common/skype_chatbutton.png | Bin 0 -> 3731 bytes 10 files changed, 44 insertions(+), 35 deletions(-) create mode 100644 htdocs/theme/common/skype_callbutton.png create mode 100644 htdocs/theme/common/skype_chatbutton.png diff --git a/htdocs/adherents/fiche.php b/htdocs/adherents/fiche.php index 399cc712297..0e04b77bb90 100644 --- a/htdocs/adherents/fiche.php +++ b/htdocs/adherents/fiche.php @@ -862,7 +862,7 @@ else print '
'; // Skype - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; } @@ -1104,7 +1104,8 @@ else print ''; // Skype - if (! empty($conf->skype->enabled)) { + if (! empty($conf->skype->enabled) && $user->rights->skype->view) + { print ''; } @@ -1427,8 +1428,11 @@ else print ''; // Skype - print ''; - + if (! empty($conf->skype->enabled) && $user->rights->skype->view) + { + print ''; + } + // Birthday print ''; diff --git a/htdocs/comm/fiche.php b/htdocs/comm/fiche.php index 29ee792c738..5dfbdb9f254 100644 --- a/htdocs/comm/fiche.php +++ b/htdocs/comm/fiche.php @@ -268,7 +268,7 @@ if ($id > 0) print ''; // Skype - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; } diff --git a/htdocs/contact/fiche.php b/htdocs/contact/fiche.php index 3334a12b069..dfdcfc79949 100644 --- a/htdocs/contact/fiche.php +++ b/htdocs/contact/fiche.php @@ -526,7 +526,7 @@ else print ''; // Skype - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; } @@ -733,7 +733,7 @@ else print ''; // Skype - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; } @@ -952,7 +952,7 @@ else print ''; // Skype - if (!empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; } diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php index 2b1c5e982df..6827e2c4f84 100644 --- a/htdocs/contact/list.php +++ b/htdocs/contact/list.php @@ -292,7 +292,7 @@ if ($result) print_liste_field_titre($langs->trans("PhoneMobile"),$_SERVER["PHP_SELF"],"p.phone_mob", $begin, $param, '', $sortfield,$sortorder); print_liste_field_titre($langs->trans("Fax"),$_SERVER["PHP_SELF"],"p.fax", $begin, $param, '', $sortfield,$sortorder); print_liste_field_titre($langs->trans("EMail"),$_SERVER["PHP_SELF"],"p.email", $begin, $param, '', $sortfield,$sortorder); - if (! empty($conf->skype->enabled)) { print_liste_field_titre($langs->trans("Skype"),$_SERVER["PHP_SELF"],"p.skype", $begin, $param, '', $sortfield,$sortorder); } + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print_liste_field_titre($langs->trans("Skype"),$_SERVER["PHP_SELF"],"p.skype", $begin, $param, '', $sortfield,$sortorder); } print_liste_field_titre($langs->trans("DateModificationShort"),$_SERVER["PHP_SELF"],"p.tms", $begin, $param, 'align="center"', $sortfield,$sortorder); print_liste_field_titre($langs->trans("ContactVisibility"),$_SERVER["PHP_SELF"],"p.priv", $begin, $param, 'align="center"', $sortfield,$sortorder); print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.statut", $begin, $param, 'align="center"', $sortfield,$sortorder); @@ -328,7 +328,7 @@ if ($result) print ''; - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; // Skype - if (! empty($conf->skype->enabled)) { print ''; } + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; } // Date print ''; diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index c08be97cac4..83da19cb5db 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -1,12 +1,13 @@ - * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2010-2012 Regis Houssin - * Copyright (C) 2013 Florian Henry - * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2006 Rodolphe Quiedeville + * Copyright (C) 2007 Patrick Raguin + * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2013 Christophe Battarel - * * + * Copyright (C) 2013 Alexandre Spangaro + * * 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 @@ -576,7 +577,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') print_liste_field_titre($langs->trans("PhoneMobile"),$_SERVER["PHP_SELF"],"p.phone_mobile","",$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Fax"),$_SERVER["PHP_SELF"],"p.fax","",$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("EMail"),$_SERVER["PHP_SELF"],"p.email","",$param,'',$sortfield,$sortorder); - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { $colspan++; print ''; @@ -608,8 +609,8 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') print ''; - print ''; - if (! empty($conf->skype->enabled)) + print ''; + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { $colspan++; print ''; @@ -681,7 +682,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') print ''; - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; // Skype - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; } @@ -1300,7 +1300,7 @@ else print ''; // Skype - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; } @@ -1592,12 +1592,12 @@ else // Country print ''; // State @@ -1614,7 +1614,7 @@ else print ''; // Skype - if (! empty($conf->skype->enabled)) + if (! empty($conf->skype->enabled) && $user->rights->skype->view) { print ''; - print_liste_field_titre($langs->trans("Cheque"),'','','','','width="30"'); + print_liste_field_titre($langs->trans("Cheques"),'','','','','width="30"'); print_liste_field_titre($langs->trans("DateChequeReceived"),$_SERVER["PHP_SELF"],"b.dateo,b.rowid", "",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Numero"),$_SERVER["PHP_SELF"],"b.num_chq", "",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("CheckTransmitter"),$_SERVER["PHP_SELF"],"b.emetteur", "",$param,"",$sortfield,$sortorder); From e8e5f4d943d1e32d7daf39a84a54a8ecfb3695f0 Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Mon, 25 Nov 2013 13:55:01 +0100 Subject: [PATCH 34/51] missing trad --- htdocs/langs/en_US/compta.lang | 1 + htdocs/langs/fr_FR/compta.lang | 1 + 2 files changed, 2 insertions(+) diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 48aa8be111a..1b93b084f10 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -30,6 +30,7 @@ Profit=Profit Balance=Balance Debit=Debit Credit=Credit +Piece=Voucher Withdrawal=Withdrawal Withdrawals=Withdrawals AmountHTVATRealReceived=Net collected diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 540f92e135f..32310e22816 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -30,6 +30,7 @@ Profit=Bénéfice Balance=Solde Debit=Débit Credit=Crédit +Piece=Pièce Withdrawal=Retrait Withdrawals=Retraits AmountHTVATRealReceived=HT collectée From 18ed9d5ca79e2264af097d12969cb8bb3f63c41d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 25 Nov 2013 16:51:30 +0100 Subject: [PATCH 35/51] Fix: Filter on accountancy report were lost when using "print" view. --- htdocs/compta/journal/purchasesjournal.php | 4 +++- htdocs/compta/journal/sellsjournal.php | 4 +++- htdocs/theme/eldy/style.css.php | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/htdocs/compta/journal/purchasesjournal.php b/htdocs/compta/journal/purchasesjournal.php index a0fe2ac79d5..847a0bda654 100644 --- a/htdocs/compta/journal/purchasesjournal.php +++ b/htdocs/compta/journal/purchasesjournal.php @@ -61,7 +61,9 @@ if (! empty($conf->accounting->enabled)) $result=restrictedArea($user,'accountin * View */ -llxHeader('',$langs->trans("PurchasesJournal"),''); +$morequery='&date_startyear='.$date_startyear.'&date_startmonth='.$date_startmonth.'&date_startday='.$date_startday.'&date_endyear='.$date_endyear.'&date_endmonth='.$date_endmonth.'&date_endday='.$date_endday; + +llxHeader('',$langs->trans("PurchasesJournal"),'','',0,0,'','',$morequery); $form=new Form($db); diff --git a/htdocs/compta/journal/sellsjournal.php b/htdocs/compta/journal/sellsjournal.php index 9381ade4e0e..e6700684dba 100644 --- a/htdocs/compta/journal/sellsjournal.php +++ b/htdocs/compta/journal/sellsjournal.php @@ -64,7 +64,9 @@ if (! empty($conf->accounting->enabled)) $result=restrictedArea($user,'accountin $form=new Form($db); -llxHeader('',$langs->trans("SellsJournal"),''); +$morequery='&date_startyear='.$date_startyear.'&date_startmonth='.$date_startmonth.'&date_startday='.$date_startday.'&date_endyear='.$date_endyear.'&date_endmonth='.$date_endmonth.'&date_endday='.$date_endday; + +llxHeader('',$langs->trans("SellsJournal"),'','',0,0,'','',$morequery); $year_current = strftime("%Y",dol_now()); diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 0abcb79f4ec..e5c3c2bb544 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -109,7 +109,7 @@ $colorbacklinepair1='255,255,255'; // line pair $colorbacklinepair2='255,255,255'; // line pair $colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); //$colorbackbody='#ffffff url('.$img_head.') 0 0 no-repeat;'; -$colorbackbody='#ffffff'; +$colorbackbody='#fcfcfc'; $colortext='40,40,40'; $fontsize=empty($conf->dol_optimize_smallscreen)?'12':'14'; $fontsizesmaller=empty($conf->dol_optimize_smallscreen)?'11':'14'; @@ -128,7 +128,7 @@ if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED)) $conf->global->THEME_ELDY_BACKTABCARD1='234,234,234'; $conf->global->THEME_ELDY_BACKTABACTIVE='234,234,234'; //$conf->global->THEME_ELDY_BACKBODY='#ffffff url('.$img_head.') 0 0 no-repeat;'; - $conf->global->THEME_ELDY_BACKBODY='#ffffff;'; + $conf->global->THEME_ELDY_BACKBODY='#fcfcfc;'; $conf->global->THEME_ELDY_LINEIMPAIR1='242,242,242'; $conf->global->THEME_ELDY_LINEIMPAIR2='248,248,248'; $conf->global->THEME_ELDY_LINEIMPAIRHOVER='238,246,252'; From 01f3ba81af8900bb04e3643fec44b0a3f335a530 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 25 Nov 2013 21:19:57 +0100 Subject: [PATCH 36/51] Update doc --- build/debian/README.howto | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/build/debian/README.howto b/build/debian/README.howto index b34d296d2e4..345b086ed5d 100644 --- a/build/debian/README.howto +++ b/build/debian/README.howto @@ -155,8 +155,9 @@ from origin/upstream and origin/pristine. Note: If there was errors solved manually, you may need to make a git commit * Add an entry into debian/changelog -> dch -v x.y.z-1 "My comment" will add entry. -For example: dch -v x.y.z-1 "New upstream release." for a new version +> dch -v x.y.z-dsfg-1 "My comment" will add entry. +For example: dch -v x.y.z-dsfg-1 "New upstream release." for a new version +Then modify changelog to replace "unstable" with "UNRELEASED". Warning: Date must have format reported by "date -R" Warning: Name and email must match value into debian/control file (Entry added here is used by next step). @@ -165,13 +166,17 @@ Warning: Name and email must match value into debian/control file (Entry added h > rm -fr ../build-area > git-buildpackage -us -uc -Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file +Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file +Note: You can use git-buildpackage -us -uc -d if you want to test build when dependencies does not match Note: Package is built into directory ../build-area * If package .deb is ok: Note: If there was errors managed manually, you may need to make a git commit but do not use option "amend" previous commit -> git-buildpackage --git-tag-only --git-retag > git push --all ou git push origin --all + +* If ok, you can tag. +> Edit debian/changelog to replace "UNRELEASED" into "unstable", then push +> git-buildpackage --git-tag-only --git-retag > git push --tags * Compilation is then done by a debian developer and sent @@ -227,15 +232,19 @@ Warning: Name and email must match value into debian/control file (Entry added h > rm -fr ../build-area > git-buildpackage -us -uc -Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file +Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file +Note: You can use git-buildpackage -us -uc -d if you want to test build when dependencies does not match Note: Package is built into directory ../build-area * Test package (see dedicated chapter to test it with debian unstable env) * If package .deb is ok: Note: If there was errors managed manually, you may need to make a git commit but do not use option "amend" previous commit -> git-buildpackage --git-tag-only --git-retag > git push --all ou git push origin --all + +* If ok, you can tag. +> Edit debian/changelog to replace "UNRELEASED" into "unstable", then push +> git-buildpackage --git-tag-only --git-retag > git push --tags * Compilation is then done by a debian developer and sent From 854cfc741e29f5ea10701cce7553fa9d2beea632 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Nov 2013 13:04:15 +0100 Subject: [PATCH 37/51] Fix: 2 bugs during validation of a member --- htdocs/adherents/class/adherent.class.php | 2 +- .../interface_50_modMailmanspip_Mailmanspipsynchro.class.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index f12a1b47fee..f82f3005514 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1344,7 +1344,7 @@ class Adherent extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET"; $sql.= " statut = 1"; - $sql.= ", datevalid = ".$this->db->idate($now); + $sql.= ", datevalid = '".$this->db->idate($now)."'"; $sql.= ", fk_user_valid=".$user->id; $sql.= " WHERE rowid = ".$this->id; diff --git a/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php b/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php index 20556018b58..17ba4b11f4f 100644 --- a/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php +++ b/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php @@ -183,7 +183,7 @@ class InterfaceMailmanSpipsynchro // Add user into some linked tools (mailman, spip, etc...) if (($object->oldcopy->email != $object->email) || ($object->oldcopy->typeid != $object->typeid)) // TODO Do del/add also if type change { - if ($object->oldcopy->email != $object->email) // If email has changed we delete mailman subscription for old email + if (is_object($object->oldcopy) && ($object->oldcopy->email != $object->email)) // If email has changed we delete mailman subscription for old email { if ($object->oldcopy->del_to_abo() < 0) { From 0383dc47062900a5fd0d36fc58d6a0ebdd3607b5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Nov 2013 13:04:15 +0100 Subject: [PATCH 38/51] Fix: 2 bugs during validation of a member --- htdocs/adherents/class/adherent.class.php | 2 +- .../interface_50_modMailmanspip_Mailmanspipsynchro.class.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index f12a1b47fee..f82f3005514 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1344,7 +1344,7 @@ class Adherent extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET"; $sql.= " statut = 1"; - $sql.= ", datevalid = ".$this->db->idate($now); + $sql.= ", datevalid = '".$this->db->idate($now)."'"; $sql.= ", fk_user_valid=".$user->id; $sql.= " WHERE rowid = ".$this->id; diff --git a/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php b/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php index 20556018b58..17ba4b11f4f 100644 --- a/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php +++ b/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php @@ -183,7 +183,7 @@ class InterfaceMailmanSpipsynchro // Add user into some linked tools (mailman, spip, etc...) if (($object->oldcopy->email != $object->email) || ($object->oldcopy->typeid != $object->typeid)) // TODO Do del/add also if type change { - if ($object->oldcopy->email != $object->email) // If email has changed we delete mailman subscription for old email + if (is_object($object->oldcopy) && ($object->oldcopy->email != $object->email)) // If email has changed we delete mailman subscription for old email { if ($object->oldcopy->del_to_abo() < 0) { From 8981f506dcd5eddeef7554a0d64d4503f3779237 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Nov 2013 13:28:06 +0100 Subject: [PATCH 39/51] Fix: typo --- build/debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/debian/control b/build/debian/control index ac65f0b9070..7a75e209870 100755 --- a/build/debian/control +++ b/build/debian/control @@ -34,7 +34,7 @@ Description: Web based software to manage a small company or foundation hosting provider to use it from anywhere with any web browser. . Dolibarr was designed to be easy to use. Only features you need are - visible, depending on which module were activated. + visible, depending on which modules were activated. Most common used modules are: . Customers, Suppliers or Prospects directory, From c3af8b6b292b64da5e86011a55616a865841c669 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Nov 2013 14:59:02 +0100 Subject: [PATCH 40/51] Sync from transifex --- dev/translation/txpull.sh | 2 +- dev/translation/txpush.sh | 2 +- htdocs/langs/el_GR/compta.lang | 36 +++++++------- htdocs/langs/el_GR/mails.lang | 16 +++---- htdocs/langs/el_GR/stocks.lang | 26 +++++----- htdocs/langs/it_IT/contracts.lang | 4 +- htdocs/langs/it_IT/cron.lang | 32 ++++++------- htdocs/langs/it_IT/holiday.lang | 54 ++++++++++----------- htdocs/langs/it_IT/languages.lang | 18 +++---- htdocs/langs/it_IT/mailmanspip.lang | 2 +- htdocs/langs/it_IT/members.lang | 4 +- htdocs/langs/it_IT/opensurvey.lang | 2 +- htdocs/langs/it_IT/products.lang | 70 +++++++++++++-------------- htdocs/langs/it_IT/propal.lang | 4 +- htdocs/langs/it_IT/suppliers.lang | 2 +- htdocs/langs/it_IT/users.lang | 6 +-- htdocs/langs/it_IT/workflow.lang | 4 +- htdocs/langs/lv_LV/admin.lang | 24 +++++----- htdocs/langs/lv_LV/bills.lang | 30 ++++++------ htdocs/langs/lv_LV/boxes.lang | 2 +- htdocs/langs/lv_LV/companies.lang | 74 ++++++++++++++--------------- htdocs/langs/lv_LV/install.lang | 38 +++++++-------- htdocs/langs/lv_LV/main.lang | 58 +++++++++++----------- htdocs/langs/lv_LV/other.lang | 48 +++++++++---------- htdocs/langs/lv_LV/products.lang | 2 +- htdocs/langs/lv_LV/sms.lang | 30 ++++++------ htdocs/langs/tr_TR/admin.lang | 66 ++++++++++++------------- htdocs/langs/tr_TR/agenda.lang | 6 +-- htdocs/langs/tr_TR/bills.lang | 2 +- htdocs/langs/tr_TR/boxes.lang | 6 +-- htdocs/langs/tr_TR/exports.lang | 6 +-- htdocs/langs/tr_TR/holiday.lang | 2 +- htdocs/langs/tr_TR/main.lang | 2 +- htdocs/langs/tr_TR/orders.lang | 6 +-- htdocs/langs/tr_TR/products.lang | 10 ++-- 35 files changed, 348 insertions(+), 348 deletions(-) diff --git a/dev/translation/txpull.sh b/dev/translation/txpull.sh index 5491e23115a..e4e91b16f29 100755 --- a/dev/translation/txpull.sh +++ b/dev/translation/txpull.sh @@ -20,7 +20,7 @@ fi if [ "x$1" = "xall" ] then - for fic in ar_SA bg_BG ca_ES da_DK de_DE el_GR es_ES et_EE fa_IR fi_FI fr_FR he_IL hu_HU is_IS it_IT ja_JP ko_KR nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sl_SI sv_SE tr_TR vi_VN zh_CN zh_TW + for fic in ar_SA bg_BG ca_ES da_DK de_DE el_GR es_ES et_EE fa_IR fi_FI fr_FR he_IL hu_HU is_IS it_IT ja_JP ko_KR lv_LV nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sl_SI sv_SE tr_TR uz_UZ vi_VN zh_CN zh_TW do echo "tx pull -l $fic $2 $3" tx pull -l $fic $2 $3 diff --git a/dev/translation/txpush.sh b/dev/translation/txpush.sh index 4a62a660637..2b06e4ddb5c 100755 --- a/dev/translation/txpush.sh +++ b/dev/translation/txpush.sh @@ -20,7 +20,7 @@ fi if [ "x$1" = "xall" ] then - for fic in ar_SA bg_BG ca_ES da_DK de_DE el_GR es_ES et_EE fa_IR fi_FI fr_FR he_IL hu_HU is_IS it_IT ja_JP ko_KR nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sl_SI sv_SE tr_TR vi_VN zh_CN zh_TW + for fic in ar_SA bg_BG ca_ES da_DK de_DE el_GR es_ES et_EE fa_IR fi_FI fr_FR he_IL hu_HU is_IS it_IT ja_JP ko_KR lv_LV nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sl_SI sv_SE tr_TR uz_UZ vi_VN zh_CN zh_TW do echo "tx push --skip -t -l $fic $2 $3" tx push --skip -t -l $fic $2 $3 diff --git a/htdocs/langs/el_GR/compta.lang b/htdocs/langs/el_GR/compta.lang index 92e0d1c2b6f..30758e4baa0 100644 --- a/htdocs/langs/el_GR/compta.lang +++ b/htdocs/langs/el_GR/compta.lang @@ -3,7 +3,7 @@ Accountancy=Λογιστική AccountancyCard=Καρτέλα λογιστικής Treasury=Περιουσιακά MenuFinancial=Οικονομικά -# TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation +TaxModuleSetupToModifyRules=Πηγαίνετε στο setup Φόροι module να τροποποιήσετε τους κανόνες για τον υπολογισμό OptionMode=Επιλογές λογιστικής OptionModeTrue=Επιλογές εσόδων-εξόδων OptionModeVirtual=Option Claims-Debts @@ -102,12 +102,12 @@ ConfirmPaySocialContribution=Are you sure you want to classify this social contr DeleteSocialContribution=Διαγραφή κοινωνικής εισφοράς ConfirmDeleteSocialContribution=Είστε σίγουροι ότι θέλετε να διαγράψετε την κοινωνική εισφορά; ExportDataset_tax_1=Social contributions and payments -# CalcModeVATDebt=Mode %sVAT on commitment accounting%s. -# CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. -# CalcModeDebt=Mode %sClaims-Debts%s said Commitment accounting. -# CalcModeEngagement=Mode %sIncomes-Expenses%s said cash accounting -# AnnualSummaryDueDebtMode=Balance of income and expenses, annual summary -# AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary +CalcModeVATDebt=Κατάσταση %sΦΠΑ επί των λογιστικών υποχρεώσεων%s +CalcModeVATEngagement=Κατάσταση %sΦΠΑ επί των εσόδων-έξοδα%s. +CalcModeDebt=Κατάσταση %sΑπαιτήσεις-Οφειλές%s δήλωσε Λογιστικών υποχρεώσεων. +CalcModeEngagement=Κατάσταση %sεσόδων-έξοδα%s δήλωσε ταμειακή λογιστική +AnnualSummaryDueDebtMode=Υπόλοιπο των εσόδων και εξόδων, ετήσια σύνοψη +AnnualSummaryInputOutputMode=Υπόλοιπο των εσόδων και εξόδων, ετήσια σύνοψη AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by third parties, mode %sClaims-Debts%s said Commitment accounting. AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by third parties, mode %sIncomes-Expenses%s said cash accounting. SeeReportInInputOutputMode=See report %sIncomes-Expenses%s said cash accounting for a calculation on actual payments made @@ -120,13 +120,13 @@ RulesCAIn=- It includes all the effective payments of invoices received from cli DepositsAreNotIncluded=- Τα τιμολόγια ασφαλείας ούτε περιλαμβάνονται DepositsAreIncluded=- Περιλαμβάνονται τιμολόγια ασφαλείας LT2ReportByCustomersInInputOutputModeES=Έκθεση του τρίτου IRPF -# VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid -# VATReportByCustomersInDueDebtMode=Report by the customer VAT collected and paid -# VATReportByQuartersInInputOutputMode=Report by rate of the VAT collected and paid -# VATReportByQuartersInDueDebtMode=Report by rate of the VAT collected and paid +VATReportByCustomersInInputOutputMode=Αναφορά από τον ΦΠΑ των πελατών εισπράττεται και καταβάλλεται +VATReportByCustomersInDueDebtMode=Αναφορά από τον ΦΠΑ των πελατών εισπράττεται και καταβάλλεται +VATReportByQuartersInInputOutputMode=Αναφορά συντελεστή του ΦΠΑ που εισπράττεται και καταβάλλεται +VATReportByQuartersInDueDebtMode=Αναφορά συντελεστή του ΦΠΑ που εισπράττεται και καταβάλλεται SeeVATReportInInputOutputMode=See report %sVAT encasement%s for a standard calculation SeeVATReportInDueDebtMode=See report %sVAT on flow%s for a calculation with an option on the flow -# RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. +RulesVATInServices=- Για τις υπηρεσίες, η αναφορά περιλαμβάνει τους κανονισμούς ΦΠΑ που πράγματι εισπράχθηκαν ή εκδίδονται με βάση την ημερομηνία πληρωμής. RulesVATInProducts=- Για τα υλικά περιουσιακά στοιχεία, περιλαμβάνει τα τιμολόγια ΦΠΑ, με βάση την ημερομηνία έκδοσης του τιμολογίου. RulesVATDueServices=- Για τις υπηρεσίες, η έκθεση περιλαμβάνει τα τιμολόγια ΦΠΑ που οφείλεται, αμειβόμενη ή μη, με βάση την ημερομηνία έκδοσης του τιμολογίου. RulesVATDueProducts=- Για τα υλικά περιουσιακά στοιχεία, περιλαμβάνει τα τιμολόγια ΦΠΑ, με βάση την ημερομηνία έκδοσης του τιμολογίου. @@ -159,13 +159,13 @@ AccountancyDashboard=Accountancy summary ByProductsAndServices=By products and services RefExt=Εξωτερικές αναφορές # ToCreateAPredefinedInvoice=To create a predefined invoice, create a standard invoice then, without validating it, click onto button "Convert to predefined invoice". -# LinkedOrder=linked to command +LinkedOrder=συνδέονται με την εντολή ReCalculate=Επανυπολογισμός -# Mode1=Methode 1 -# Mode2=Method 2 +Mode1=Τρόπος 1 +Mode2=Τρόπος 2 # CalculationRuleDesc=To calculate total VAT, there is two methods:
Method 1 is rounding vat on each line, then summing them.
Method 2 is summing all vat on each line, then rounding result.
Final result may differs from few cents. Default mode is mode %s. # CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier. # TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a cash accountancy mode is not relevant. This report is only available when using engagement accountancy mode (see setup of accountancy module). -# CalculationMode=Calculation mode -# COMPTA_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties -# COMPTA_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties +CalculationMode=Τρόπο υπολογισμού +COMPTA_ACCOUNT_CUSTOMER=Κωδικός Λογιστικής από προεπιλογή για πελάτη +COMPTA_ACCOUNT_SUPPLIER=Κωδικός Λογιστικής από προεπιλογή για προμηθευτή diff --git a/htdocs/langs/el_GR/mails.lang b/htdocs/langs/el_GR/mails.lang index 6ab3543f77e..a30ec923c66 100644 --- a/htdocs/langs/el_GR/mails.lang +++ b/htdocs/langs/el_GR/mails.lang @@ -78,7 +78,7 @@ YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing l MailtoEMail=Hyper σύνδεσμο σε email ActivateCheckRead=Επιτρέπετε τη χρήση του "Unsubcribe" σύνδεσμου # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature -# EMailSentToNRecipients=EMail sent to %s recipients. +EMailSentToNRecipients=EMail αποστέλλονται στους παραλήπτες %s. # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Επαφές για όλα τα στοιχεία (πελάτης, προοπτική, προμηθευτής, ...) @@ -89,12 +89,12 @@ MailingModuleDescEmailsFromFile=EMails from a text file (email;name;surname;comm MailingModuleDescContactsCategories=Στοιχεία με emails (ανά κατηγορία) # MailingModuleDescDolibarrContractsLinesExpired=Third parties with expired contract's lines MailingModuleDescContactsByCompanyCategory=Επαφές των τρίτων (από τρίτη κατηγορία μέρη) -# MailingModuleDescContactsByCategory=Contacts/addresses of third parties by category +MailingModuleDescContactsByCategory=Επαφές/διευθύνσεις Πέλ./Προμ. κατά κατηγορία MailingModuleDescMembersCategories=Τα ιδρυτικά μέλη (ανά κατηγορία) MailingModuleDescContactsByFunction=Επαφές των τρίτων (από τη θέση / λειτουργία) -# LineInFile=Line %s in file +LineInFile=Σειρά %s στο αρχείο # RecipientSelectionModules=Defined requests for recipient's selection MailSelectedRecipients=Επιλεγμένοι αποδέκτες MailingArea=Emailings περιοχή @@ -117,7 +117,7 @@ ToAddRecipientsChooseHere=Προσθέστε παραλήπτες επιλέγο IdRecord=ID record DeliveryReceipt=Απόδειξη παράδοσης # YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. -# TagCheckMail=Track mail opening +TagCheckMail=Παρακολούθηση άνοιγμα της αλληλογραφίας TagUnsubscribe=link διαγραφής TagSignature=Υπογραφή αποστολής χρήστη TagMailtoEmail=Email του παραλήπτη @@ -125,8 +125,8 @@ TagMailtoEmail=Email του παραλήπτη # Module Notifications Notifications=Notifications # NoNotificationsWillBeSent=No email notifications are planned for this event and company -# ANotificationsWillBeSent=1 notification will be sent by email +ANotificationsWillBeSent=1 ειδοποίηση θα σταλεί μέσω e-mail # SomeNotificationsWillBeSent=%s notifications will be sent by email -# AddNewNotification=Activate a new email notification request -# ListOfActiveNotifications=List all active email notification requests -# ListOfNotificationsDone=List all email notifications sent +AddNewNotification=Ενεργοποιήστε μια νέα αίτηση ειδοποίησης με email +ListOfActiveNotifications=Λίστα όλων των ενεργών αιτήσεων ειδοποίησης με email +ListOfNotificationsDone=Λίστα όλων των ειδοποιήσεων ηλεκτρονικού ταχυδρομείου που αποστέλλονται diff --git a/htdocs/langs/el_GR/stocks.lang b/htdocs/langs/el_GR/stocks.lang index cf78cf51a2e..654e4a61b5f 100644 --- a/htdocs/langs/el_GR/stocks.lang +++ b/htdocs/langs/el_GR/stocks.lang @@ -26,14 +26,14 @@ ListOfStockMovements=Κατάλογος των κινήσεων των αποθ StocksArea=Αποθέματα περιοχή Location=Τοποθεσία LocationSummary=Σύντομη τοποθεσία όνομα -# NumberOfDifferentProducts=Number of different products +NumberOfDifferentProducts=Αριθμός διαφορετικών προϊόντων NumberOfProducts=Συνολικός αριθμός προϊόντων LastMovement=Τελευταία κίνηση LastMovements=Τελευταία κινήσεις Units=Μονάδες Unit=Μονάδα StockCorrection=Σωστή απόθεμα -# StockTransfer=Stock transfer +StockTransfer=Stock Μεταφορά StockMovement=Μεταφορά StockMovements=Μεταφορές Χρηματιστήριο # LabelMovement=Movement label @@ -96,16 +96,16 @@ Replenishment=Αναπλήρωση ReplenishmentOrders=Αναπλήρωση παραγγελίων UseVirtualStock=Χρησιμοποιήστε το εικονικό απόθεμα αντί των φυσικών αποθεμάτων RuleForStockReplenishment=Κανόνας για τα αποθέματα αναπλήρωσης -# SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier -# AlertOnly= Alerts only -# WarehouseForStockDecrease=The warehouse %s will be used for stock decrease -# WarehouseForStockIncrease=The warehouse %s will be used for stock increase -# ForThisWarehouse=For this warehouse +SelectProductWithNotNullQty=Επιλέξτε τουλάχιστον ένα προϊόν με ποσότητα δεν είναι έγκυρη σε προμηθευτή +AlertOnly= Ειδοποιήσεις μόνο +WarehouseForStockDecrease=Η αποθήκη %s να να χρησιμοποιηθεί για μείωση αποθεμάτων +WarehouseForStockIncrease=Η αποθήκη %s θα χρησιμοποιηθεί για την αύξηση των αποθεμάτων +ForThisWarehouse=Για αυτή την αποθήκη # ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. -# ReplenishmentOrdersDesc=This is list of all opened supplier orders -# Replenishments=Replenishments -# NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) -# NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) -# MassStockMovement=Mass stock movement +ReplenishmentOrdersDesc=Αυτή είναι η λίστα όλων των ανοικτών παραγγελιών σε προμηθευτές +Replenishments=Αναπληρώσεις +NbOfProductBeforePeriod=Ποσότητα του προϊόντος %s σε απόθεμα πριν από την επιλεγμένη περίοδο (< %s) +NbOfProductAfterPeriod=Ποσότητα του προϊόντος %s σε απόθεμα πριν από την επιλεγμένη περίοδο (> %s) +MassStockMovement=Μαζική κίνηση αποθεμάτων # SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". -# RecordMovement=Record transfert +RecordMovement=Η εγγραφή μεταφέρθηκε diff --git a/htdocs/langs/it_IT/contracts.lang b/htdocs/langs/it_IT/contracts.lang index 93a0888004a..a49be57de72 100644 --- a/htdocs/langs/it_IT/contracts.lang +++ b/htdocs/langs/it_IT/contracts.lang @@ -86,9 +86,9 @@ ExpiredSince=Scaduto il RelatedContracts=Contratti relativi NoExpiredServices=Non ci sono servizi scaduti attivi ListOfServicesToExpireWithDuration=Lista di servizi in scadenza entro %s giorni -# ListOfServicesToExpireWithDurationNeg=List of Services expired from more than %s days +ListOfServicesToExpireWithDurationNeg=Lista di servizi scaduti da più di %s giorni ListOfServicesToExpire=Lista dei servizi in scadenza -# NoteListOfYourExpiredServices=This list contains only services of contracts for third parties you are linked to as a sale representative. +NoteListOfYourExpiredServices=Questa lista contiene i servizi relativi a contratti di terze parti per le quali siete collegati come rappresentanti commerciali. ##### Types de contacts ##### TypeContact_contrat_internal_SALESREPSIGN=Contatto interno per la firma del contratto diff --git a/htdocs/langs/it_IT/cron.lang b/htdocs/langs/it_IT/cron.lang index b13b4b68c34..edfe7ac9c45 100644 --- a/htdocs/langs/it_IT/cron.lang +++ b/htdocs/langs/it_IT/cron.lang @@ -17,19 +17,19 @@ Permission23104 = Esegui compito programmato # # Admin # -# CronSetup= Scheduled job management setup +CronSetup= Impostazione delle azioni pianificate URLToLaunchCronJobs=URL che lancia i job di cron OrToLaunchASpecificJob=O per lanciare un job specifico KeyForCronAccess=Chiave di sicurezza per l'URL che lancia i job di cron -# FileToLaunchCronJobs=Command line to launch cron jobs -# CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -# CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +FileToLaunchCronJobs=Comando per lanciare i job di cron +CronExplainHowToRunUnix=In ambienti Unix dovresti usare crontab per lanciare il comando ogni minuto +CronExplainHowToRunWin=In ambienti Microsoft(tm) Windows dovresti usare Operazioni Pianificate per lanciare il comando ogni minuto # # Menu # -# CronJobs=Scheduled jobs +CronJobs=Azioni pianificate CronListActive= Lista dei job attivi CronListInactive= Lista dei job disabilitati @@ -44,12 +44,12 @@ CronListOfCronJobs=Lista dei job programmati CronCommand=Comando CronList= Lista dei job CronDelete= Cancella job di cron -# CronConfirmDelete= Are you sure you want to delete this cron job ? -# CronExecute=Launch job +CronConfirmDelete= Vuoi davvero cancellare questa azione pianificata? +CronExecute=Esegui azione CronConfirmExecute= Sei sicuro di voler eseguire ora questo job CronInfo= I job possono eseguire compiti pianificati CronWaitingJobs=Job in attesa -# CronTask=Job +CronTask=Azione CronNone= Nessuno CronDtStart=Data di inizio CronDtEnd=Data di fine @@ -67,8 +67,8 @@ CronNoJobs=Nessun job registrato CronPriority=Priorità CronLabel=Descrizione CronNbRun=Num. lancio -# CronEach=Every -# JobFinished=Job launched and finished +CronEach=Ogni +JobFinished=Azione eseguita e completata # #Page card @@ -82,17 +82,17 @@ CronSaveSucess=Salvato con successo CronNote=Commento CronFieldMandatory=Il campo %s è obbligatorio CronErrEndDateStartDt=La data di fine non può essere precedente a quella di inizio -# CronStatusActiveBtn=Enable +CronStatusActiveBtn=Abilita CronStatusInactiveBtn=Disattiva -# CronTaskInactive=This job is disabled +CronTaskInactive=Questa azione è disabilitata CronDtLastResult=Data dell'ultimo risultato CronId=Id -# CronClassFile=Classes (filename.class.php) +CronClassFile=Classi (filename.class.php) CronModuleHelp=Nome della directory del modulo di Dolibarr (funziona anche con moduli di Dolibarr esterni).
Per esempio per ottenere il metodo corretto dell'oggetto /htdocs/product/class/product.class.php, il valore da inserire è product CronClassFileHelp=Nome del file da caricare.
Per esempio per ottenere il metodo corretto dell'oggetto /htdocs/product/class/product.class.php, il valore del class file name è product.class.php CronObjectHelp=Nome dell'oggetto da caricare.
Per esempio per ottenere il metodo corretto dell'oggetto /htdocs/product/class/product.class.php, il valore da inserire è Product -# CronMethodHelp=The object method to launch.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is fecth -# CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef +CronMethodHelp=Nome del metodo dell'oggetto da eseguire.
Per esempio per ottenere il metodo dell'oggetto /htdocs/product/class/product.class.php, il valore da inserire è fetch +CronArgsHelp=Argomenti del metodo.
Per esempio per ottenere il metodo corretto dell'oggetto /htdocs/product/class/product.class.php, il valore dei parametri può essere 0, ProductRef CronCommandHelp=Il comando da eseguire sul sistema # @@ -110,4 +110,4 @@ CronType_command=Comando da shell CronMenu=Cron CronCannotLoadClass=Non posso caricare la classe %s o l'oggetto %s -# UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. +UseMenuModuleToolsToAddCronJobs=Andare nel menu "Home - Modules tools - Job list" per vedere e modificare le azioni pianificate. diff --git a/htdocs/langs/it_IT/holiday.lang b/htdocs/langs/it_IT/holiday.lang index 5995a663df9..820085afa1a 100644 --- a/htdocs/langs/it_IT/holiday.lang +++ b/htdocs/langs/it_IT/holiday.lang @@ -1,8 +1,8 @@ # Dolibarr language file - Source file is en_US - holiday -# HRM=HRM +HRM=HRM Holidays=Ferie CPTitreMenu=Ferie -# MenuReportMonth=Monthly statement +MenuReportMonth=Estratto conto mensile MenuAddCP=Richiedi ferie NotActiveModCP=Per vedere questa pagina devi attivare il modulo ferie. NotConfigModCP=Per vedere questa pagina devi configurare il modulo ferie. Clicca qui per attivarlo. @@ -24,16 +24,16 @@ ReviewedByCP=Sarà valutato da DescCP=Descrizione SendRequestCP=Genero richiesta ferie DelayToRequestCP=Le richieste di ferie devono essere inoltrate almeno %s giorni prima. -# MenuConfCP=Edit balance of holidays +MenuConfCP=Modifica ferie rimanenti UpdateAllCP=Aggiorna le ferie -# SoldeCPUser=Holidays balance is %s days. +SoldeCPUser=Rimangono %s giorni di ferie ErrorEndDateCP=La data di fine deve essere posteriore alla data di inizio. ErrorSQLCreateCP=Si è verificato un errore SQL durante la creazione: ErrorIDFicheCP=Si è verificato un errore, la richiesta di ferie non esiste. ReturnCP=Torna alla pagina precedente ErrorUserViewCP=Non sei autorizzato a leggere questa richiesta di ferie. -# InfosCP=Information of the demand of holidays -# InfosWorkflowCP=Information Workflow +InfosCP=Informazioni sulla richiesta ferie +InfosWorkflowCP=Flusso di informazioni DateCreateCP=Data di creazione RequestByCP=Richiesto da TitreRequestCP=Scheda ferie @@ -74,9 +74,9 @@ MotifCP=Motivo UserCP=Utente ErrorAddEventToUserCP=Si è verificato un errore nell'assegnazione del permesso straordinario. AddEventToUserOkCP=Permesso straordinario assegnato correttamente. -# MenuLogCP=View logs of holidays -# LogCP=Log of updates of holidays -# ActionByCP=Performed by +MenuLogCP=Vedi lo storico ferie +LogCP=Log degli aggiornamenti ferie +ActionByCP=Eseguito da UserUpdateCP=Per l'utente PrevSoldeCP=Saldo precedente NewSoldeCP=Nuovo saldo @@ -87,7 +87,7 @@ FirstDayOfHoliday=Primo giorno di ferie LastDayOfHoliday=Ultimo giorno di ferie HolidaysMonthlyUpdate=Aggiornamento mensile ManualUpdate=Aggiornamento manuale -# HolidaysCancelation=Holidays cancelation +HolidaysCancelation=Cancellazione ferie ## Configuration du Module ## ConfCP=Configurazione del modulo ferie @@ -98,18 +98,18 @@ ConfirmConfigCP=Convalida la configurazione LastUpdateCP=Ultimo aggiornamento automatico delle ferie UpdateConfCPOK=Aggiornato con successo ErrorUpdateConfCP=Si è verificato un errore nell'aggiornamento, riprovare. -# AddCPforUsers=Please add the balance of holidays of users by clicking here. +AddCPforUsers=Aggiornare le ferie residue dell'utente facendo click qui. DelayForSubmitCP=Scadenza per l'inoltro di richieste ferie -# AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline -# AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay -# AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance -# nbUserCP=Number of users supported in the module holidays -# nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken +AlertapprobatortorDelayCP=Impedisci l'approvazione delle ferie se la richiesta non corrisponde alla deadline +AlertValidatorDelayCP=Impedisci l'approvazione se la richiesta ferie eccede il ritardo massimo +AlertValidorSoldeCP=Impedisci l'apporvazione ferie se la richiesta eccede la disponibilità residua +nbUserCP=Numero di utenti gestiti dal modulo ferie +nbHolidayDeductedCP=Numero di giorni di ferie da scalare per ogni giorno di ferie goduto nbHolidayEveryMonthCP=Numero di giorni di ferie maturati al mese Module27130Name= Gestione ferie Module27130Desc= Gestione ferie -# TitleOptionMainCP=Main settings of holidays -# TitleOptionEventCP=Settings of holidays related to events +TitleOptionMainCP=Impostazioni principali della gestione ferie +TitleOptionEventCP=Impostazioni per le ferie relative ad eventi ValidEventCP=Convalida UpdateEventCP=Aggiorna eventi CreateEventCP=Crea @@ -129,14 +129,14 @@ UpdateEventOptionCP=Aggiorna ErrorMailNotSend=Si è verificato un errore nell'invio dell'email: NoCPforMonth=Nessun permesso questo mese. nbJours=Numero di giorni -# TitleAdminCP=Configuration of Holidays +TitleAdminCP=Impostazioni delle ferie #Messages Hello=Salve HolidaysToValidate=Convalida ferie -# HolidaysToValidateBody=Below is a request for holidays to validate -# HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days. -# HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days. +HolidaysToValidateBody=Di sotto una richiesta ferie da verificare +HolidaysToValidateDelay=Questa è una richiesta di ferie da godere fra meno di %s giorni +HolidaysToValidateAlertSolde=L'utente che ha fatto questa richiesta ferie non dispone di abbastanza ferie residue HolidaysValidated=Ferie convalidate HolidaysValidatedBody=La tua richiesta di ferie dal %s al %s è stata convalidata. HolidaysRefused=Ferie negate @@ -144,9 +144,9 @@ HolidaysRefusedBody=La tua richiesta di ferie dal %s al %s è stata negata con l HolidaysCanceled=Ferie annullate HolidaysCanceledBody=La tua richiesta di ferie dal %s al %s è stata annullata. -# Permission20001=Read/create/modify their holidays -# Permission20002=Read/modify all requests of holidays -# Permission20003=Delete their holidays requests -# Permission20004=Define users holidays -# Permission20005=Review log of modified holidays +Permission20001=Leggi/crea/modifica le loro ferie +Permission20002=Leggi/modifica tutte le richieste di ferie +Permission20003=Cancella le loro richieste di ferie +Permission20004=Definisci le ferie degli utenti +Permission20005=Controlla il log delle modifiche alle ferie Permission20006=Accedi al report mensile delle ferie diff --git a/htdocs/langs/it_IT/languages.lang b/htdocs/langs/it_IT/languages.lang index 296284bfbf5..35d333b3b7a 100644 --- a/htdocs/langs/it_IT/languages.lang +++ b/htdocs/langs/it_IT/languages.lang @@ -4,7 +4,7 @@ Language_ar_AR=Arabo Language_ar_SA=Arabo Language_bg_BG=Bulgaro Language_ca_ES=Catalano -# Language_cs_CZ=Czech +Language_cs_CZ=Ceco Language_da_DA=Danese Language_da_DK=Danese Language_de_DE=Tedesco @@ -16,13 +16,13 @@ Language_en_IN=Inglese (India) Language_en_NZ=Inglese (Nuova Zelanda) Language_en_SA=Inglese (Arabia Saudita) Language_en_US=Inglese (Stati Uniti) -# Language_en_ZA=English (South Africa) +Language_en_ZA=Inglese (Sud Africa) Language_es_ES=Spagnolo Language_es_AR=Spagnolo (Argentina) Language_es_HN=Spagnolo (Honduras) Language_es_MX=Spagnolo (Messico) -# Language_es_PY=Spanish (Paraguay) -# Language_es_PE=Spanish (Peru) +Language_es_PY=Spagnolo (Paraguay) +Language_es_PE=Spagnolo (Perù) Language_es_PR=Spagnolo (Portorico) Language_et_EE=Estone Language_fa_IR=Persiano @@ -31,14 +31,14 @@ Language_fr_BE=Francese (Belgio) Language_fr_CA=Francese (Canada) Language_fr_CH=Francese (Svizzera) Language_fr_FR=Francese -# Language_fr_NC=French (New Caledonia) +Language_fr_NC=Francese (Nuova Caledonia) Language_he_IL=Ebraico Language_hu_HU=Ungherese Language_is_IS=Islandese Language_it_IT=Italiano Language_ja_JP=Giapponese -# Language_ko_KR=Korean -# Language_lv_LV=Latvian +Language_ko_KR=Coreano +Language_lv_LV=Lettone Language_nb_NO=Norvegese (Bokmål) Language_nl_BE=Olandese (Belgio) Language_nl_NL=Olandese (Paesi Bassi) @@ -52,7 +52,7 @@ Language_tr_TR=Turco Language_sl_SI=Sloveno Language_sv_SV=Svedese Language_sv_SE=Svedese -# Language_sk_SK=Slovakian -# Language_vi_VN=Vietnamese +Language_sk_SK=Slovacco +Language_vi_VN=Vietnamita Language_zh_CN=Cinese Language_zh_TW=Cinese (Tradizionale) diff --git a/htdocs/langs/it_IT/mailmanspip.lang b/htdocs/langs/it_IT/mailmanspip.lang index 30d17c7a562..268958bf26d 100644 --- a/htdocs/langs/it_IT/mailmanspip.lang +++ b/htdocs/langs/it_IT/mailmanspip.lang @@ -10,7 +10,7 @@ SynchroSpipEnabled=SPIP verrà aggiornato DescADHERENT_MAILMAN_ADMINPW=Password di amministrazione di Mailman DescADHERENT_MAILMAN_URL=URL per l'iscrizione a Mailman DescADHERENT_MAILMAN_UNSUB_URL=URL per la disiscrizione da Mailman -# DescADHERENT_MAILMAN_LISTS=List(s) for automatic inscription of new members (separated by a comma) +DescADHERENT_MAILMAN_LISTS=Lista(e) a cui iscrivere automaticamente i nuovi membri (separate da virgola) SPIPTitle=SPIP Content Management System DescADHERENT_SPIP_SERVEUR=Server SPIP DescADHERENT_SPIP_DB=Nome del database di SPIP diff --git a/htdocs/langs/it_IT/members.lang b/htdocs/langs/it_IT/members.lang index 8e27441272d..16c84d6f614 100644 --- a/htdocs/langs/it_IT/members.lang +++ b/htdocs/langs/it_IT/members.lang @@ -8,7 +8,7 @@ Members=Membri MemberAccount=Account membro ShowMember=Visualizza scheda membro UserNotLinkedToMember=L'utente non è collegato ad un membro -# ThirdpartyNotLinkedToMember=Third-party not linked to a member +ThirdpartyNotLinkedToMember=Nessun soggetto terzo associato a questo membro MembersTickets=Biglietti membri FundationMembers=Membri della fondazione Attributs=Attributi @@ -200,5 +200,5 @@ ByProperties=Per natura MembersStatisticsByProperties=Statistiche dei membri per natura MembersByNature=Membri per natura VATToUseForSubscriptions=Aliquota IVA in uso per le sottoscrizioni -# NoVatOnSubscription=No TVA for subscriptions +NoVatOnSubscription=Nessuna IVA per gli abbonamenti MEMBER_PAYONLINE_SENDEMAIL=Email di avviso quando Dolibarr riceve la conferma della validazione di un pagamento per adesione diff --git a/htdocs/langs/it_IT/opensurvey.lang b/htdocs/langs/it_IT/opensurvey.lang index 4e377a35efb..aa587bc00fb 100644 --- a/htdocs/langs/it_IT/opensurvey.lang +++ b/htdocs/langs/it_IT/opensurvey.lang @@ -14,7 +14,7 @@ OpenSurveyYourEMail=Il tuo indirizzo email VotersCanModify=I votanti possono modificare il voto degli altri ToReceiveEMailForEachVote=Per ricevere un'email per ogni voto TypeDate=Digita data -# TypeClassic=Type standard +TypeClassic=Tipo standard YouAreInPollCreateArea=Sei nella sezione di creazione sondaggi FieldMandatory=Campo obbligatorio OpenSurveyDesc=Servizio online per pianificare incontri o fare indagini velocemente e con facilità. diff --git a/htdocs/langs/it_IT/products.lang b/htdocs/langs/it_IT/products.lang index 4cc71f03e6c..4943b0c2d17 100644 --- a/htdocs/langs/it_IT/products.lang +++ b/htdocs/langs/it_IT/products.lang @@ -76,7 +76,7 @@ ContractStatusToRun=Da avviare ContractNotRunning=Il presente contratto non è attivo ErrorProductAlreadyExists=Un prodotto con riferimento %s esiste già. ErrorProductBadRefOrLabel=Il valore di riferimento o l'etichetta è sbagliato. -# ErrorProductClone=There was a problem while trying to clone the product or service. +ErrorProductClone=Si è verificato un problema cercando di cuplicare il prodotto o servizio Suppliers=Fornitori SupplierRef=Rif. fornitore ShowProduct=Visualizza prodotto @@ -112,8 +112,8 @@ AssociatedProductsAbility=Attiva i prodotti associati AssociatedProducts=Prodotti associati AssociatedProductsNumber=Numero di prodotti associati ParentProductsNumber=Numero del prodotto padre -# IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual product -# IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual product +IfZeroItIsNotAVirtualProduct=Se 0, questo non è un prodotto virtuale +IfZeroItIsNotUsedByVirtualProduct=Se 0, questo prodotto non è usata da alcun prodotto virtuale EditAssociate=Modifica associazione Translation=Traduzione KeywordFilter=Filtro per parola chiave @@ -142,11 +142,11 @@ NoStockForThisProduct=Nessuna scorta per questo prodotto NoStock=Nessuna scorta Restock=Rimpingua scorta ProductSpecial=Prodotto speciale -# QtyMin=Minimum Qty +QtyMin=Quantità minima PriceQty=Prezzo per tale quantitativo -# PriceQtyMin=Price for this min. qty (w/o discount) -# VATRateForSupplierProduct=VAT Rate (for this supplier/product) -# DiscountQtyMin=Default discount for qty +PriceQtyMin=Prezzo per questa quantità minima (senza sconti) +VATRateForSupplierProduct=Aliquota IVA (per questo prodotto) +DiscountQtyMin=Sconto automatico per la quantità NoPriceDefinedForThisSupplier=Nessun prezzo/quantità definito per questo fornitore/prodotto NoSupplierPriceDefinedForThisProduct=Nessun prezzo fornitore definito per questo prodotto RecordedProducts=Prodotti registrati @@ -164,7 +164,7 @@ CloneProduct=Clona prodotto/servizio ConfirmCloneProduct=Vuoi davvero clonare il prodotto/servizio %s? CloneContentProduct=Clona tutte le principali informazioni del prodotto/servizio ClonePricesProduct=Clona principali informazioni e prezzi -# CloneCompositionProduct=Clone product/service composition +CloneCompositionProduct=Duplica la composizione del prodotto/servizio ProductIsUsed=Questo prodotto è in uso NewRefForClone=Rif. del nuovo prodotto/servizio CustomerPrices=Prezzi al cliente @@ -173,34 +173,34 @@ CustomCode=Codice dogana CountryOrigin=Paese di origine HiddenIntoCombo=Nascosti nelle tendine di selezione Nature=Natura -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template -# AddThisProductCard=Create product card -# HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. -# AddThisServiceCard=Create service card -# HelpAddThisServiceCard=This option allows you to create or clone a service if it does not exist. -# CurrentProductPrice=Current price -# AlwaysUseNewPrice=Always use current price of product/service -# AlwaysUseFixedPrice=Use the fixed price -# PriceByQuantity=Price by quantity -# PriceByQuantityRange=Quantity range -# ProductsDashboard=Products/Services summary -# UpdateOriginalProductLabel=Modify original label +ProductCodeModel=Template per il codice prodotto +ServiceCodeModel=Template per il codice servizio +AddThisProductCard=Crea scheda prodotto +HelpAddThisProductCard=Questa opzione permette la creazione o la clonazione di un prodotto se non esiste. +AddThisServiceCard=Crea scheda servizio +HelpAddThisServiceCard=Questa opzione permette la creazione o la clonazione di un servizio se non esiste. +CurrentProductPrice=Prezzo corrente +AlwaysUseNewPrice=Usa sempre il prezzo corrente di un prodotto/servizio +AlwaysUseFixedPrice=Usa prezzo non negoziabile +PriceByQuantity=Prezzo per quantità +PriceByQuantityRange=Intervallo della quantità +ProductsDashboard=Riepilogo prodotti/servizi +UpdateOriginalProductLabel=Modifica l'etichetta originale HelpUpdateOriginalProductLabel=Permette di modificare il nome del prodotto ### composition fabrication -# Building=Production and items dispatchment -# Build=Produce -# BuildIt=Produce & Dispatch -# BuildindListInfo=Available quantity for production per warehouse (set it to 0 for no further action) +Building=Produzione e invio degli oggetti +Build=Produci +BuildIt=Produci & Invia +BuildindListInfo=Disponibilità residua per magaziino di produzione (inserire 0 per nessuna azione) QtyNeed=Quantità -# UnitPmp=Net unit VWAP -# CostPmpHT=Net total VWAP -# ProductUsedForBuild=Auto consumed by production +UnitPmp=Unità netta VWAP +CostPmpHT=Totale netto VWAP +ProductUsedForBuild=Autoconsumato dalla produzione ProductBuilded=Produzione completata -# ProductsMultiPrice=Product multi-price -# ProductSellByQuarterHT=Products turnover quarterly VWAP -# ServiceSellByQuarterHT=Services turnover quarterly VWAP -# Quarter1=1st. Quarter -# Quarter2=2nd. Quarter -# Quarter3=3rd. Quarter -# Quarter4=4th. Quarter +ProductsMultiPrice=Prodotto con più prezzi +ProductSellByQuarterHT=Turnover dei prodotti trimestrale VWAP +ServiceSellByQuarterHT=Turnover trimestrale dei servizi VWAP +Quarter1=Primo trimestre +Quarter2=Secondo trimestre +Quarter3=Terzo trimestre +Quarter4=Quarto trimestre diff --git a/htdocs/langs/it_IT/propal.lang b/htdocs/langs/it_IT/propal.lang index 48616e63b2e..b4f153a7a36 100644 --- a/htdocs/langs/it_IT/propal.lang +++ b/htdocs/langs/it_IT/propal.lang @@ -70,8 +70,8 @@ ErrorPropalNotFound=Proposta %s non trovata Estimate=Stima: EstimateShort=Stima OtherPropals=Altre proposte -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Aggiungi una bozza di proposta +NoDraftProposals=Nessuna bozza di proposta CopyPropalFrom=Crea proposta commerciale da copia esistente CreateEmptyPropal=Crea proposta commerciale vuota o dalla lista dei prodotti / servizi DefaultProposalDurationValidity=Durata di validità predefinita per proposta commerciale (in giorni) diff --git a/htdocs/langs/it_IT/suppliers.lang b/htdocs/langs/it_IT/suppliers.lang index 0e6698f90db..3e45c94832b 100644 --- a/htdocs/langs/it_IT/suppliers.lang +++ b/htdocs/langs/it_IT/suppliers.lang @@ -37,4 +37,4 @@ AddSupplierOrder=Crea ordine fornitore AddSupplierInvoice=Crea fattura fornitore ListOfSupplierProductForSupplier=Elenco prodotti e prezzi per il fornitore %s NoneOrBatchFileNeverRan=Nessuno batch file o %s non eseguito di recente -# SentToSuppliers=Sent to suppliers +SentToSuppliers=Inviato ai fornitori diff --git a/htdocs/langs/it_IT/users.lang b/htdocs/langs/it_IT/users.lang index 7e0820908d3..02f9a2de79d 100644 --- a/htdocs/langs/it_IT/users.lang +++ b/htdocs/langs/it_IT/users.lang @@ -113,8 +113,8 @@ YourRole=Il tuo ruolo YourQuotaOfUsersIsReached=Hai raggiunto la tua quota di utenti attivi! NbOfUsers=Numero di utenti DontDowngradeSuperAdmin=Solo un superadmin può declassare un superadmin -# HierarchicalResponsible=Hierarchical responsible +HierarchicalResponsible=Responsabile gerarchico HierarchicView=Vista gerarchica UseTypeFieldToChange=cambia usando il campo Tipo -# OpenIDURL=OpenID URL -# LoginUsingOpenID=Use OpenID to login +OpenIDURL=URL OpenID +LoginUsingOpenID=URL OpenID per il login diff --git a/htdocs/langs/it_IT/workflow.lang b/htdocs/langs/it_IT/workflow.lang index c03a65562b2..e2cf62e66ab 100644 --- a/htdocs/langs/it_IT/workflow.lang +++ b/htdocs/langs/it_IT/workflow.lang @@ -7,5 +7,5 @@ descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Creare automaticamente una fattura attiva descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Creare automaticamente una fattura attiva alla convalida del contratto descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Creare automaticamente una fattura attiva alla chiusura dell'ordine cliente descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classifica la proposta commerciale collegata come fatturare quando l'ordine cliente è impostato come pagato -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classifica gli ordini dei clienti da fatturare quando la fattura viene impostata come pagata +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classifica gli ordini dei clienti da fatturare quando la fattura è validata diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index 282cd30002b..768461d6447 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -18,7 +18,7 @@ LockNewSessions=Lock jaunus sakarus ConfirmLockNewSessions=Vai jūs tiešām vēlaties, lai ierobežotu jebkuru jaunu Dolibarr savienojumu ar sevi. Tikai lietotājs %s varēs pieslēgties pēc tam. UnlockNewSessions=Noņemt savienojuma atslēga YourSession=Jūsu sesija -Sessions=Lietotāji sesija +Sessions=Lietotāju sesija WebUserGroup=Web serveris lietotāju / grupu NoSessionFound=Jūsu PHP, šķiet, neļauj uzskaitīt aktīvās sesijas. Directory izmanto, lai saglabātu sesijas (%s) var būt aizsargāta (piemēram, pēc OS atļaujas vai PHP direktīvu open_basedir). HTMLCharset=Charset par rada HTML lapas @@ -76,7 +76,7 @@ NextValueForReplacements=Tālāk vērtība (nomaiņa) MustBeLowerThanPHPLimit=Piezīme: jūsu PHP ierobežo katra failu augšupielādes lielumu, lai %s %s, neatkarīgi no šī parametra vērtība ir NoMaxSizeByPHPLimit=Piezīme: Nav limits tiek noteikts jūsu PHP konfigurācijā MaxSizeForUploadedFiles=Maksimālais izmērs augšupielādēto failu (0 nepieļaut jebkādu upload) -UseCaptchaCode=Izmantot grafisko kodu (CAPTCHA) uz pieteikšanās lapu +UseCaptchaCode=Izmantot grafisko kodu (CAPTCHA) pieteikšanās lapā UseAvToScanUploadedFiles=Izmantot anti-virus, lai skenētu augšupielādēto failu AntiVirusCommand= Pilns ceļš pretvīrusu komandu AntiVirusCommandExample= Piemērs ClamWin: C: \\ PROGRA 1 ~ \\ ClamWin \\ bin \\ clamscan.exe
Piemērs ClamAV: / usr / bin / clamscan @@ -124,7 +124,7 @@ YouCanEditPHPTZ=Noteikt atšķirīgu PHP laika joslu (nav obligāti), jūs varat OSEnv=OS Vide Box=Kaste Boxes=Kastes -MaxNbOfLinesForBoxes=Maksimālais skaits līniju kastes +MaxNbOfLinesForBoxes=Maksimālais attēloto ierakstu skaits PositionByDefault=Noklusējuma, lai Position=Rīkojums MenusDesc=Izvēlnes vadītāji nosaka saturu 2 izvēlnes bāros (horizontāla josla un vertikāla josla). @@ -148,7 +148,7 @@ PurgeAuditEvents=Iztīrīšana visus drošības pasākumus ConfirmPurgeAuditEvents=Vai jūs tiešām vēlaties, lai iztīrītu visus drošības pasākumus? Visi drošības žurnāli tiks dzēsti, nekādi citi dati tiks noņemts. NewBackup=Jauna rezerves kopija GenerateBackup=Izveidot rezerves -Backup=Backup +Backup=Rezerves kopija Restore=Atjaunot RunCommandSummary=Rezerves ir uzsākta ar šādu komandu RunCommandSummaryToLaunch=Rezerves var tikt uzsākta ar šādu komandu @@ -197,8 +197,8 @@ ModulesInterfaceDesc=Dolibarr moduļi saskarne ļauj jums pievienot funkcijas at ModulesSpecialDesc=Īpašas programmas ir ļoti specifiskas un reti izmanto moduļus. ModulesJobDesc=Biznesa moduļi nodrošina vienkāršu iepriekš iestatīšanu Dolibarr par konkrēto darbību. ModulesMarketPlaceDesc=Jūs varat atrast vairāk moduļus, lai lejupielādētu uz ārējām tīmekļa vietnēm internetā ... -ModulesMarketPlaces=Vairāk moduļi ... -DoliStoreDesc=DoliStore, oficiālais tirgus vieta Dolibarr ERP / CRM ārējiem moduļiem +ModulesMarketPlaces=Papildus moduļi ... +DoliStoreDesc=DoliStore ir oficiālā mājaslapa Dolibarr ERP / CRM papildus moduļiem WebSiteDesc=Tīmekļa vietnes pakalpojumu sniedzēji, jūs varat meklēt, lai atrastu jaunus moduļus ... URL=Saite BoxesAvailable=Kastes pieejamās @@ -213,7 +213,7 @@ Required=Nepieciešams Security=Drošība Passwords=Paroles DoNotStoreClearPassword=Vai nav veikals skaidri paroles datu bāzē, bet veikalā tikai šifrēta vērtība (aktivētā ieteicams) -MainDbPasswordFileConfEncrypted=Datu bāzes paroli šifrēti conf.php (aktivētā ieteicams) +MainDbPasswordFileConfEncrypted=Datubāzes paroli šifrēti conf.php (aktivēt ieteicams) InstrucToEncodePass=Lai iegūtu paroli, iekodētas conf.php failu, nomainiet līnija
$ Dolibarr_main_db_pass = "..."
līdz
$ Dolibarr_main_db_pass = "crypted: %s" InstrucToClearPass=Lai iegūtu paroli, dekodēt (skaidri) uz conf.php failu, nomainiet līnija
$ Dolibarr_main_db_pass = "crypted: ..."
līdz
$ Dolibarr_main_db_pass = "%s" ProtectAndEncryptPdfFiles=Aizsardzību radīto PDF failus (aktivētā nav ieteicama, pārtraukumiem masveida pdf paaudze) @@ -448,7 +448,7 @@ Module250Name=Datu imports Module250Desc=Instruments, lai importētu datas Dolibarr (ar palīgiem) Module310Name=Dalībnieki Module310Desc=Fonds biedri vadība -Module320Name=RSS Feed +Module320Name=RSS barotne Module320Desc=Pievienot RSS plūsmu iekšā Dolibarr ekrāna lapām Module330Name=Grāmatzīmes Module330Desc=Grāmatzīmi pārvaldības @@ -841,7 +841,7 @@ DefaultMenuManager= Standarta izvēlne vadītājs DefaultMenuSmartphoneManager=Viedtālrunis izvēlne vadītājs Skin=Skin tēma DefaultSkin=Default skin tēma -MaxSizeList=Maksimālais garums sarakstu +MaxSizeList=Maksimālais saraksta garums DefaultMaxSizeList=Noklusējuma max garums sarakstu MessageOfDay=Ziņu par to dienā MessageLogin=Login lapu īsziņu @@ -924,7 +924,7 @@ OnceSetupFinishedCreateUsers=Uzmanību, jums ir Dolibarr administrators lietotā MiscellaneousDesc=Definēt šeit visus citus parametrus, kas saistīti ar drošību. LimitsSetup=Ierobežojumi / Precision iestatīšanas LimitsDesc=Jūs varat noteikt limitus, precizējumus un optimizācijas, kas izmantotas ar Dolibarr šeit -MAIN_MAX_DECIMALS_UNIT=Max aiz komata par vienības cenu +MAIN_MAX_DECIMALS_UNIT=Maksimālais ciparu skaits aiz komata cenām MAIN_MAX_DECIMALS_TOT=Max decimāldaļas attiecībā uz kopējo cenu MAIN_MAX_DECIMALS_SHOWN=Max aiz komata par cenām parādīta ekrānā (Add ... pēc šo numuru, ja jūs vēlaties redzēt ... kad numurs tiek apcirsti, kad redzams uz ekrāna) MAIN_DISABLE_PDF_COMPRESSION=Izmantot PDF saspiešanu radīto PDF failus. @@ -1308,8 +1308,8 @@ UseBarcodeInProductModule=Izmantot svītrkodus produktiem CodeBarGenerator=Svītrkodu ģenerators ChooseABarCode=Nav noteikts ģenerators FormatNotSupportedByGenerator=Format not supported by this generator -BarcodeDescEAN8=Svītrkods EAN8 tipu -BarcodeDescEAN13=Svītrkods EAN13 tipu +BarcodeDescEAN8=Svītrkods EAN8 veids +BarcodeDescEAN13=Svītrkods EAN13 veida BarcodeDescUPC=Svītrkoda tipa UPC BarcodeDescISBN=Svītrkoda tipa ISBN BarcodeDescC39=Svītrkods C39 tipu diff --git a/htdocs/langs/lv_LV/bills.lang b/htdocs/langs/lv_LV/bills.lang index f7b2b26f452..facbc8e3cf2 100644 --- a/htdocs/langs/lv_LV/bills.lang +++ b/htdocs/langs/lv_LV/bills.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - bills Bill=Pavadzīme -Bills=Rēķini -BillsCustomers=Klienta rēķini +Bills=Pavadzīmes +BillsCustomers=Klientu rēķini BillsCustomer=Klienta rēķins -BillsSuppliers=Piegādātāja rēķinus -BillsCustomersUnpaid=Bezalgas klienta rēķini +BillsSuppliers=Piegādātāja rēķins +BillsCustomersUnpaid=Neapmaksāti klienta rēķini BillsCustomersUnpaidForCompany=Bezalgas klienta rēķinus %s BillsSuppliersUnpaid=Bezalgas piegādātāja rēķinus BillsSuppliersUnpaidForCompany=Bezalgas piegādātāja rēķinus %s @@ -77,8 +77,8 @@ PaymentAmount=Maksājuma summa ValidatePayment=Apstiprināt maksājumu PaymentHigherThanReminderToPay=Maksājumu augstāka nekā atgādinājumu samaksāt HelpPaymentHigherThanReminderToPay= Uzmanība, maksājuma summu, no vienas vai vairākām rēķinus, ir lielāks nekā pārējās maksāt.
Labot savu ierakstu, citādi apstiprināt un domāt par izveidot kredīta piezīmi par pārsnieguma saņem par katru pārmaksāto rēķiniem. -ClassifyPaid=Klasificēt "Maksas" -ClassifyPaidPartially=Klasificēt "Maksas daļēji" +ClassifyPaid=Klasificēt "Apmaksāts" +ClassifyPaidPartially=Klasificēt "Apmaksāts daļēji" ClassifyCanceled=Klasificēt "Abandoned" ClassifyClosed=Klasificēt "Slēgts" CreateBill=Izveidot rēķinu @@ -99,7 +99,7 @@ Amount=Summa PriceBase=Cena bāze BillStatus=Rēķina statuss BillStatusDraft=Projekts (ir jāapstiprina) -BillStatusPaid=Apmaksātais +BillStatusPaid=Apmaksāts BillStatusPaidBackOrConverted=Samaksāta vai pārvērsti atlaidi BillStatusConverted=Apmaksātais (gatavas pēdējo rēķinu) BillStatusCanceled=Pamests @@ -115,7 +115,7 @@ BillShortStatusConverted=Apstrādāti BillShortStatusCanceled=Pamests BillShortStatusValidated=Validēta BillShortStatusStarted=Sākās -BillShortStatusNotPaid=Nav samaksāta +BillShortStatusNotPaid=Nav samaksāts BillShortStatusClosedUnpaid=Slēgts BillShortStatusClosedPaidPartially=Samaksāts (daļēji) PaymentStatusToValidShort=Lai apstiprinātu @@ -171,7 +171,7 @@ ValidateBill=Apstiprināt rēķinu UnvalidateBill=Unvalidate rēķinu NumberOfBills=Nb rēķinu NumberOfBillsByMonth=Nb rēķinu pa mēnešiem -AmountOfBills=Summa rēķinu +AmountOfBills=Rēķinu summa AmountOfBillsByMonthHT=Summa rēķinus mēnesī (neto pēc nodokļiem) ShowSocialContribution=Rādīt sociālās iemaksas ShowBill=Rādīt rēķinu @@ -209,7 +209,7 @@ MenuToValid=Lai derīgs DateMaxPayment=Maksājums jāveic līdz DateEcheance=Izpildes datums robeža DateInvoice=Rēķina datums -NoInvoice=Nevienu rēķinu +NoInvoice=Nav rēķinu ClassifyBill=Klasificēt rēķinu NoSupplierBillsUnpaid=Nav piegādātājiem rēķini neapmaksātie SupplierBillsToPay=Piegādātāji rēķinus apmaksāt @@ -260,7 +260,7 @@ AbsoluteDiscountUse=Šis kredīta veids var izmantot rēķinā pirms tās apstip CreditNoteDepositUse=Rēķins ir jāapstiprina, lai izmantotu šo ķēniņu kredītu NewGlobalDiscount=Jauns absolūtais atlaide NewRelativeDiscount=Jauns relatīvais atlaide -NoteReason=Piezīme / Pamatojums +NoteReason=Piezīme / Iemesls ReasonDiscount=Iemesls DiscountOfferedBy=Piešķir DiscountStillRemaining=Atlaides vēl atlikušie @@ -319,12 +319,12 @@ PaymentTypeVIR=Banku noguldījumu PaymentTypeShortVIR=Banku noguldījumu PaymentTypePRE=Bankas rīkojums PaymentTypeShortPRE=Bankas rīkojums -PaymentTypeLIQ=Nauda -PaymentTypeShortLIQ=Nauda +PaymentTypeLIQ=Skaidra nauda +PaymentTypeShortLIQ=Skaidra nauda PaymentTypeCB=Kredītkarte PaymentTypeShortCB=Kredītkarte -PaymentTypeCHQ=Pārbaude -PaymentTypeShortCHQ=Pārbaude +PaymentTypeCHQ=Čeks +PaymentTypeShortCHQ=Čeks PaymentTypeTIP=TIP PaymentTypeShortTIP=TIP PaymentTypeVAD=Tiešsaistes maksājumu diff --git a/htdocs/langs/lv_LV/boxes.lang b/htdocs/langs/lv_LV/boxes.lang index 0d1d4286be8..cdc73e6f23e 100644 --- a/htdocs/langs/lv_LV/boxes.lang +++ b/htdocs/langs/lv_LV/boxes.lang @@ -3,7 +3,7 @@ BoxLastRssInfos=RSS informācija BoxLastProducts=Pēdējie %s produkti / pakalpojumi BoxProductsAlertStock=Produkti pārdošanā brīdinājumu BoxLastProductsInContract=Pēdējās %s līgumi produktu / pakalpojumu -BoxLastSupplierBills=Pagājušā piegādātāja rēķinus +BoxLastSupplierBills=Pēdējais piegādātāja rēķins BoxLastCustomerBills=Pagājušā klienta rēķini BoxOldestUnpaidCustomerBills=Vecākās bezalgas klienta rēķini BoxOldestUnpaidSupplierBills=Vecākās bezalgas piegādātāja rēķinus diff --git a/htdocs/langs/lv_LV/companies.lang b/htdocs/langs/lv_LV/companies.lang index 1b2fcd0ca09..02e8e96df9d 100644 --- a/htdocs/langs/lv_LV/companies.lang +++ b/htdocs/langs/lv_LV/companies.lang @@ -197,7 +197,7 @@ ProfId3MX=Prof Id 3 (Profesional Harta) ProfId4MX=- ProfId5MX=- ProfId6MX=- -ProfId1NL=KVK nummer +ProfId1NL=KVK nummurs ProfId2NL=- ProfId3NL=- ProfId4NL=Burgerservicenummer (BSN) @@ -236,32 +236,32 @@ ProspectCustomer=Prospect / Klients Prospect=Perspektīva CustomerCard=Klienta karte Customer=Klients -CustomerDiscount=Klientu Atlaide -CustomerRelativeDiscount=Relatīvais klientu atlaide -CustomerAbsoluteDiscount=Absolute klientu atlaide -CustomerRelativeDiscountShort=Relatīvais atlaide -CustomerAbsoluteDiscountShort=Absolute atlaide -CompanyHasRelativeDiscount=Šis klients ir noklusējuma atlaidi %s%% +CustomerDiscount=Klienta Atlaide +CustomerRelativeDiscount=Relatīvā klienta atlaide +CustomerAbsoluteDiscount=Absolūtā klienta atlaide +CustomerRelativeDiscountShort=Relatīvā atlaide +CustomerAbsoluteDiscountShort=Absolūtā atlaide +CompanyHasRelativeDiscount=Šim klientam ir pastāvīgā atlaide %s%% CompanyHasNoRelativeDiscount=Šis klients nav relatīvā atlaide pēc noklusējuma CompanyHasAbsoluteDiscount=Šis klients vēl ir atlaides kredītus vai noguldījumus uz %s %s CompanyHasCreditNote=Šis klients joprojām ir kredīta piezīmes %s %s CompanyHasNoAbsoluteDiscount=Šis klients nav atlaižu kredīts pieejams CustomerAbsoluteDiscountAllUsers=Absolūtais atlaides (ko piešķir visiem lietotājiem) CustomerAbsoluteDiscountMy=Absolūtais atlaides (ko piešķir pats) -DefaultDiscount=Default atlaide -AvailableGlobalDiscounts=Absolute atlaides +DefaultDiscount=Noklusētā atlaide +AvailableGlobalDiscounts=Absolūtās pieejamās atlaides DiscountNone=Neviens Supplier=Piegādātājs -CompanyList=Kompānijas sarakstā +CompanyList=Kompāniju saraksts AddContact=Pievienot kontaktu -AddContactAddress=Pievienot kontaktu / adrese +AddContactAddress=Pievienot kontakta / adresi EditContact=Labot kontaktu EditContactAddress=Labot kontakta / adresi -Contact=Sazināties -ContactsAddresses=Kontakti / adreses +Contact=Kontakts +ContactsAddresses=Kontaktu / adreses NoContactDefinedForThirdParty=Nav kontakta definēts šīs trešās personas NoContactDefined=Nav kontakta definēts -DefaultContact=Default kontakta / adrese +DefaultContact=Noklsētais kontakts / adrese AddCompany=Pievienot uzņēmumu AddThirdParty=Pievienot trešo pusi DeleteACompany=Dzēst uzņēmumu @@ -277,7 +277,7 @@ RequiredIfCustomer=Nepieciešams, ja trešā puse ir klients vai izredzes RequiredIfSupplier=Nepieciešams, ja trešā puse ir piegādātājs ValidityControledByModule=Derīguma vadību kontrolēta ar moduli ThisIsModuleRules=Tas ir noteikumi šajā modulī -LastProspect=Pēdējo reizi +LastProspect=Pēdējais ProspectToContact=Prospect sazināties CompanyDeleted=Kompānija "%s" svītro no datu bāzes. ListOfContacts=Kontaktu saraksts / adresēm @@ -285,12 +285,12 @@ ListOfContactsAddresses=Kontaktu saraksts / adresses ListOfProspectsContacts=Saraksts prospekta kontaktu ListOfCustomersContacts=Saraksts klientu kontaktu ListOfSuppliersContacts=Saraksts piegādātāju kontaktiem -ListOfCompanies=Uzņēmumu sarakstu -ListOfThirdParties=Saraksts ar trešajām personām +ListOfCompanies=Uzņēmumu saraksts +ListOfThirdParties=Trešo personu saraksts ShowCompany=Rādīt uzņēmumu -ShowContact=Rādīt sazināties +ShowContact=Rādīt kontaktu ContactsAllShort=Visi (Bez filtra) -ContactType=Sazinieties tipa +ContactType=Kontakta veids ContactForOrders=Ordeņa kontakts ContactForProposals=Priekšlikuma kontakts ContactForContracts=Līgums kontaktpersona @@ -300,7 +300,7 @@ NoContactForAnyProposal=Šis kontakts ir ne kontaktu par jebkuru komerciālu pri NoContactForAnyContract=Šis kontakts ir ne kontaktu par jebkuru līgumu NoContactForAnyInvoice=Šis kontakts ir ne kontaktu par jebkuru rēķinu NewContact=Jauns kontakts -NewContactAddress=Jauns kontakts / adrese +NewContactAddress=Jauna kontakta / adrese LastContacts=Pēdējie kontakti MyContacts=Mani kontakti Phones=Telefoni @@ -309,11 +309,11 @@ CapitalOf=Capital %s EditCompany=Labot uzņēmumu EditDeliveryAddress=Rediģēt piegādes adresi ThisUserIsNot=Šis lietotājs nav izredzes, klients ne piegādātājs -VATIntraCheck=Pārbaude +VATIntraCheck=Pārbaudīt VATIntraCheckDesc=Saite %s ļauj lūgt Eiropas PVN pārbaudītājs pakalpojumu. Ārējo interneta pieslēgums no servera ir nepieciešams šo pakalpojumu, lai strādātu. VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do VATIntraCheckableOnEUSite=Pārbaudiet Intracomunnautary PVN par Eiropas komisijā vietas -VATIntraManualCheck=Jūs varat arī pārbaudīt manuāli no eiropas mājas lapas %s +VATIntraManualCheck=Jūs varat pārbaudīt manuāli eiropas mājas lapā %s ErrorVATCheckMS_UNAVAILABLE=Pārbaude nav iespējams. Pārbaudes pakalpojums netiek nodrošināts no dalībvalsts (%s). NorProspectNorCustomer=Tāpat arī izredzes, ne klientu JuridicalStatus=Juridiskais statuss @@ -321,7 +321,7 @@ Staff=Personāls ProspectLevelShort=Potenciāls ProspectLevel=Prospect potenciālu ContactPrivate=Privāts -ContactPublic=Dalīta +ContactPublic=Publisks ContactVisibility=Redzamība OthersNotLinkedToThirdParty=Citi, kas nav saistīts ar trešās puses ProspectStatus=Prospect statuss @@ -342,13 +342,13 @@ TE_PRIVATE=Privātpersona TE_OTHER=Cits StatusProspect-1=Nesazināties StatusProspect0=Nekad sazinājās -StatusProspect1=Lai sazinātos -StatusProspect2=Sazinieties procesā +StatusProspect1=Jāsazinās +StatusProspect2=Sazināšanās procesā StatusProspect3=Sazināties darīts -ChangeDoNotContact=Mainīt statusu uz "Vai nav sazināties ar" +ChangeDoNotContact=Mainīt statusu uz "Nesazināties" ChangeNeverContacted=Mainīt statusu uz "Nekad sazinājies" -ChangeToContact=Mainīt statusu uz "Lai sazinātos" -ChangeContactInProcess=Mainīt statusu uz "Kontaktēties procesā" +ChangeToContact=Mainīt statusu uz "Jāsazinās" +ChangeContactInProcess=Mainīt statusu uz "Sazināšanās procesā" ChangeContactDone=Mainīt statusu uz "Kontaktēties jādara" ProspectsByStatus=Perspektīvas pēc statusa BillingContact=Norēķinu kontakts @@ -356,7 +356,7 @@ NbOfAttachedFiles=Pievienoto failu skaits AttachANewFile=Pievienot jaunu failu NoRIB=Nav noteikts BAN NoParentCompany=Neviens -ExportImport=Import-Export +ExportImport=Imports-Eksports ExportCardToFormat=Eksporta karti formātā ContactNotLinkedToCompany=Sazinieties nav saistīta ar trešajām personām DolibarrLogin=Dolibarr pieteikšanās @@ -369,21 +369,21 @@ ImportDataset_company_3=Bankas rekvizīti PriceLevel=Cenu līmenis DeliveriesAddress=Piegādes adreses DeliveryAddress=Piegādes adrese -DeliveryAddressLabel=Piegādes adrese etiķete +DeliveryAddressLabel=Piegādes adreses etiķete DeleteDeliveryAddress=Dzēst piegādes adresi ConfirmDeleteDeliveryAddress=Vai tiešām vēlaties dzēst šo piegādes adresi? NewDeliveryAddress=Jauna piegādes adrese AddDeliveryAddress=Pievienot adresi AddAddress=Pievienot adresi -NoOtherDeliveryAddress=Nav alternatīvu piegādes definēts adrese -SupplierCategory=Piegādātājs kategorija -JuridicalStatus200=Neatkarīga +NoOtherDeliveryAddress=Nav definēta alternatīva piegādes adrese +SupplierCategory=Piegādātāja kategorija +JuridicalStatus200=Neatkarīgs DeleteFile=Izdzēst failu ConfirmDeleteFile=Vai jūs tiešām vēlaties izdzēst šo failu? AllocateCommercial=Piešķirts pārdošanas pārstāvim SelectCountry=Izvēlieties valsti SelectCompany=Izvēlieties trešo personu -Organization=Organizēšana +Organization=Organizācija AutomaticallyGenerated=Automātiski ģenerēts FiscalYearInformation=Informācija par fiskālo gadu FiscalMonthStart=Fiskālā gada pirmais mēnesis @@ -391,9 +391,9 @@ YouMustCreateContactFirst=Jums ir izveidot e-pastus kontaktus trešās puses vis ListSuppliersShort=Piegādātāju saraksts ListProspectsShort=Saraksts perspektīvas ListCustomersShort=Klientu saraksts -ThirdPartiesArea=Trešām pusēm platība -LastModifiedThirdParties=Pēdējās %s modificēts trešajām personām -UniqueThirdParties=Kopā unikālu trešajām personām +ThirdPartiesArea=Trešo personu sadaļa +LastModifiedThirdParties=Pēdējās %s modificētāss trešās personas +UniqueThirdParties=Kopējās unikālās trešās personas InActivity=Atvērt ActivityCeased=Slēgts ActivityStateFilter=Aktivitātes statuss diff --git a/htdocs/langs/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index bd5e9acfbad..b6bbc8c2303 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -5,16 +5,16 @@ DolibarrWelcome=Laipni lūdzam Dolibarr ConfFileExists=Konfigurācijas fails %s eksistē. ConfFileDoesNotExists=Konfigurācijas fails %s neeksistē! ConfFileDoesNotExistsAndCouldNotBeCreated=Konfigurācijas fails %s nav un nevar tikt izveidots! -ConfFileCouldBeCreated=Konfigurācijas failu %s nevar izveidot. +ConfFileCouldBeCreated=Konfigurācijas failu %s var izveidot. ConfFileIsNotWritable=Konfigurācijas failam %s nav rakstīšanas tiesības. Pārbaudiet atļaujas. Par pirmo instalēt, jūsu tīmekļa serveris ir jāpiešķir, lai varētu rakstīt šajā failā laikā konfigurācijas process ("chmod 666", piemēram, uz kā OS UNIX). ConfFileIsWritable=Konfigurācijas failā %s var ierakstīt. ConfFileReload=Pārlādēt visu informāciju no konfigurācijas faila. -PHPSupportSessions=Šis PHP atbalsta sesijas. -PHPSupportPOSTGETOk=Šis PHP atbalsta mainīgie POST un GET. -PHPSupportPOSTGETKo=Tas ir iespējams, jūsu PHP uzstādīšana neatbalsta mainīgie POST un / vai GET. Pārbaudiet savu parametrs variables_order in php.ini. -PHPSupportGD=Šis PHP atbalsts GD grafiskās funkcijas. -PHPSupportUTF8=Šis PHP atbalsts UTF8 funkcijas. -PHPMemoryOK=Jūsu PHP max sesijas atmiņa ir iestatīts uz %s. Tas būtu pietiekami. +PHPSupportSessions=PHP atbalsta sesijas. +PHPSupportPOSTGETOk=PHP atbalsta mainīgos POST un GET. +PHPSupportPOSTGETKo=Iespējams, ka jūsu PHP neatbalsta mainīgos POST un / vai GET. Pārbaudiet parametrus variables_order failā php.ini. +PHPSupportGD=PHP atbalsta GD grafiskās funkcijas. +PHPSupportUTF8=PHP atbalsta UTF8 funkcijas. +PHPMemoryOK=Jūsu PHP maksimālā sesijas atmiņa ir iestatīts uz %s. Tas ir pietiekami. PHPMemoryTooLow=Jūsu PHP max sesijas atmiņa ir iestatīts uz %s baitu. Tas būtu pārāk mazs. Mainiet savu php.ini lai uzstādītu memory_limit parametrs vismaz %s baitos. Recheck=Klikšķiniet šeit, lai vairāk significative testu ErrorPHPDoesNotSupportSessions=PHP instalācija neatbalsta sesijas. Šī funkcija ir pienākums veikt Dolibarr darbu. Pārbaudiet savu PHP iestatījumus. @@ -63,15 +63,15 @@ CreateUser=Izveidot īpašnieks DatabaseSuperUserAccess=Datu bāzes serveris - superlietotājs piekļuve CheckToCreateDatabase=Rūtiņu, ja datu bāze neeksistē, un ir izveidots.
Tādā gadījumā, jums ir jāaizpilda pieteikšanās / paroli SuperUser kontā pie šīs lapas apakšā. CheckToCreateUser=Rūtiņu, ja datu bāzes īpašnieks neeksistē, un ir izveidots.
Tādā gadījumā, jums ir jāizvēlas savu lietotājvārdu un paroli, kā arī aizpildīt pieteikšanās / paroli superlietotājs kontā pie šīs lapas apakšā. Ja šī rūtiņa ir nekontrolēti, īpašnieks, datu bāzes un tās paroles ir pastāv. -Experimental=(Experimental) +Experimental=(Eksperimentāls) DatabaseRootLoginDescription=Reģistrācija no lietotāja ļāva izveidot jaunas datu bāzes vai jaunus lietotājus, obligātos ja jūsu datu bāzes vai tās īpašnieks nav jau eksistē. KeepEmptyIfNoPassword=Atstājiet tukšu, ja lietotājs nav parole (izvairītos) SaveConfigurationFile=Saglabāt vērtības ConfigurationSaving=Ietaupot konfigurācijas failu ServerConnection=Servera savienojuma DatabaseConnection=Savienojums ar datubāzi -DatabaseCreation=Datu bāzes izveide -UserCreation=Lietotājs izveide +DatabaseCreation=Datubāzes izveide +UserCreation=Lietotāja izveidošana CreateDatabaseObjects=Datu bāzes objektu izveide ReferenceDataLoading=Atsauces dati iekraušana TablesAndPrimaryKeysCreation=Galdi un primārās atslēgas radīšana @@ -89,7 +89,7 @@ SystemIsUpgraded=Dolibarr ir atjaunota veiksmīgi. YouNeedToPersonalizeSetup=Jums ir nepieciešams, lai konfigurētu Dolibarr, lai atbilstu jūsu vajadzībām (izskats, funkcijas, ...). Lai to izdarītu, lūdzu, sekojiet saitei zemāk: AdminLoginCreatedSuccessfuly=Dolibarr Administrator Login "%s" izveidots successfuly. GoToDolibarr=Iet uz Dolibarr -GoToSetupArea=Iet uz Dolibarr (iestatīšanas apgabals) +GoToSetupArea=Iet uz Dolibarr (iestatīšanas apgabalu) MigrationNotFinished=Versija jūsu datu bāzē, nav pilnībā atjaunināta, tāpēc jums ir, lai palaistu jaunināšanas procesu vēlreiz. GoToUpgradePage=Iet uz uzlabotu lapu vēlreiz Examples=Piemēri @@ -101,25 +101,25 @@ AdminLoginAlreadyExists=Dolibarr administratora konts "%s" jau WarningRemoveInstallDir=Brīdinājums, drošības apsvērumu dēļ, kad instalēt vai jaunināšana ir pabeigta, izvairīties no instalētu rīku atkal, jums vajadzētu pievienot failu ar nosaukumu install.lock uz Dolibarr dokumentu direktoriju, lai novērstu ļaunprātīgu izmantošanu, tā. ThisPHPDoesNotSupportTypeBase=Šis PHP sistēma neatbalsta nevienu interfeisu, lai piekļūtu datu bāzes tipa %s FunctionNotAvailableInThisPHP=Nav pieejams šajā PHP -MigrateScript=Migrācijas skriptu +MigrateScript=Migrācijas skripts ChoosedMigrateScript=Izvēlieties migrācijas skriptu DataMigration=Datu migrācija DatabaseMigration=Struktūra datu bāzes migrācija ProcessMigrateScript=Skripts apstrāde -ChooseYourSetupMode=Izvēlies savu iestatīšanas režīmu un noklikšķiniet uz "Start" ... -FreshInstall=Svaigi instalēt +ChooseYourSetupMode=Izvēlies savu instalācijas režīmu un noklikšķiniet uz "Sākt" ... +FreshInstall=Svaiga instalēšana FreshInstallDesc=Izmantojiet šo režīmu, ja tas ir jūsu pirmo reizi instalēt. Ja nē, šis režīms var izlabot nepilnīgu iepriekšējo instalēt, bet, ja jūs vēlaties uzlabot savu versiju, izvēlieties "Upgrade" režīmā. Upgrade=Atjaunot UpgradeDesc=Izmantojiet šo režīmu, ja esat nomainījis veco Dolibarr failus ar failiem no jaunāku versiju. Tas būs uzlabot savu datu bāzi un datus. -Start=Sākums +Start=Sākt InstallNotAllowed=Setup nav atļauts ar conf.php atļaujas NotAvailable=Nav pieejams YouMustCreateWithPermission=Jums ir izveidot failu %s un noteikt rakstīt atļaujas par to, lai web serveri laikā instalēšanas procesu. CorrectProblemAndReloadPage=Lūdzu noteikt problēmu un nospiediet F5, lai pārlādētu lapu. AlreadyDone=Jau pārvietoti -DatabaseVersion=Datu bāzes versiju -ServerVersion=Datu bāzes serveris versija -YouMustCreateItAndAllowServerToWrite=Jums ir izveidot šo direktoriju un ļauj web serveri, lai rakstīt to. +DatabaseVersion=Datubāzes versija +ServerVersion=Datubāzes servera versija +YouMustCreateItAndAllowServerToWrite=Jums ir jāizveido šo direktoriju un jāļauj web serverim tajā rakstīt. CharsetChoice=Rakstzīmju kopa izvēle CharacterSetClient=Rakstzīmju kopa, ko izmanto radīto HTML interneta lapas CharacterSetClientComment=Izvēlieties rakstzīmju kopu web displeju.
Noklusējuma ierosinātā rakstzīmju kopa ir viens no jūsu datu bāzē. @@ -142,7 +142,7 @@ ErrorConnection=Server "%s", datu bāzes nosaukums "%s& InstallChoiceRecommanded=Ieteicams izvēlēties, lai instalētu versiju %s no jūsu pašreizējā versijā %s InstallChoiceSuggested=Instalējiet izvēli ierosināja uzstādītājam. MigrateIsDoneStepByStep=Mērķtiecīga versija (%s) ir plaisa vairākas versijas, tāpēc instalēt vednis nāks atpakaļ ieteikt nākamo migrāciju, kad tas viens būs pabeigts. -CheckThatDatabasenameIsCorrect=Pārbaudiet, datu bāzes nosaukums "%s" ir pareiza. +CheckThatDatabasenameIsCorrect=Pārbaudiet, ka datubāzes nosaukums "%s" ir pareizs. IfAlreadyExistsCheckOption=Ja šis vārds ir pareizs un ka datu bāze neeksistē vēl, jums ir pārbaudīt opciju "Izveidot datu bāzi". OpenBaseDir=PHP openbasedir parametrs YouAskToCreateDatabaseSoRootRequired=Jūs pārbauda kaste "Izveidot datu bāzi". Lai to izdarītu, jums ir nepieciešams, lai nodrošinātu login / paroles no superlietotājs (apakšējā formas). diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index 59e2ef5a194..63d694d9406 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -7,19 +7,19 @@ DIRECTION=ltr FONTFORPDF=Helvetica FONTSIZEFORPDF=10 SeparatorDecimal=, -SeparatorThousand=Neviens -FormatDateShort=%m/%d/%Y -FormatDateShortInput=%m/%d/%Y -FormatDateShortJava=MM/dd/yyyy -FormatDateShortJavaInput=MM/dd/yyyy -FormatDateShortJQuery=mm/dd/yy -FormatDateShortJQueryInput=mm/dd/yy +SeparatorThousand=None +FormatDateShort=%d/%m/%Y +FormatDateShortInput=%d/%m/%Y +FormatDateShortJava=dd.MM.yyyy +FormatDateShortJavaInput=dd.MM.yyyy +FormatDateShortJQuery=dd.mm.yy +FormatDateShortJQueryInput=dd.mm.yy FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y FormatDateText=%B %d, %Y -FormatDateHourShort=%m/%d/%Y %I:%M %p -FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p +FormatDateHourShort=%d/%m/%Y %I:%M %p +FormatDateHourSecShort=%d/%m/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p DatabaseConnection=Savienojums ar datubāzi @@ -38,10 +38,10 @@ ErrorUnknown=Nezināma kļūda ErrorSQL=SQL kļūda ErrorLogoFileNotFound=Logotipa fails "%s" nav atrasts ErrorGoToGlobalSetup=Iet uz "Sabiedrībai / nodibinājums" uzstādīšana, lai novērstu šo -ErrorGoToModuleSetup=Iet uz moduļa uzstādīšanas, lai atrisinātu šo -ErrorFailedToSendMail=Neizdevās nosūtīt pastu (sūtītājs = %s, uztvērējs = %s) +ErrorGoToModuleSetup=Iet uz moduļa uzstādīšanu, lai atrisinātu šo +ErrorFailedToSendMail=Neizdevās nosūtīt pastu (sūtītājs = %s, saņēmējs = %s) ErrorAttachedFilesDisabled=Failu pievienšana nav atļauta šajā serverī -ErrorFileNotUploaded=Fails netika augšupielādēts. Pārbaudiet vai izmērs nepārsniedz maksimāli pieļaujamo un, ka brīvas vietas ir pieejama uz diska, un nav jau failu ar tādu pašu nosaukumu, kas šajā direktorijā. +ErrorFileNotUploaded=Fails netika augšupielādēts. Pārbaudiet vai izmērs nepārsniedz maksimāli pieļaujamo un, ka brīvas vietas ir pieejama uz diska, un nav jau failu ar tādu pašu nosaukumu šajā direktorijā. ErrorInternalErrorDetected=Atklāta kļūda ErrorNoRequestRan=Nav pieprasījums skrēja ErrorWrongHostParameter=Nepareizs uzņēmēja parametrs @@ -139,7 +139,7 @@ Validate=Apstiprināt ToValidate=Lai apstiprinātu Save=Saglabāt SaveAs=Saglabāt kā -TestConnection=Testa savienojums +TestConnection=Savienojuma pārbaude ToClone=Klonēt ConfirmClone=Izvēlieties datus, kurus vēlaties klonēt: NoCloneOptionsSpecified=Nav datu klons noteikts. @@ -148,7 +148,7 @@ Go=Iet Run=Darboties CopyOf=Kopija Show=Rādīt -ShowCardHere=Rādīt kartes +ShowCardHere=Rādīt kartiņu Search=Meklēšana SearchOf=Meklēšana Valid=Derīgs @@ -289,9 +289,9 @@ Amount=Summa AmountInvoice=Rēķina summa AmountPayment=Maksājuma summa AmountHTShort=Summa (neto) -AmountTTCShort=Summa (ieskaitot nodokli) +AmountTTCShort=Summa (ar PVN) AmountHT=Daudzums (neto pēc nodokļiem) -AmountTTC=Summa (ieskaitot nodokli) +AmountTTC=Summa (ar PVN) AmountVAT=Summa nodoklis AmountLT1=Summa nodoklis 2 AmountLT2=Summa nodoklis 3 @@ -362,7 +362,7 @@ RemoveFilter=Noņemt filtru ChartGenerated=Attēls radīts ChartNotGenerated=Attēls nav radīts GeneratedOn=Izveidots %s -Generate=Radīt +Generate=Izveidot Duration=Ilgums TotalDuration=Kopējais pasākuma ilgums Summary=Kopsavilkums @@ -512,10 +512,10 @@ Internals=Iekšējs Externals=Ārējs Warning=Brīdinājums Warnings=Brīdinājumi -BuildPDF=Build PDF -RebuildPDF=Pārbūvēt PDF -BuildDoc=Veidot Doc -RebuildDoc=Pārbūvēt Doc +BuildPDF=Izveidot PDF +RebuildPDF=Pārtaisīt PDF +BuildDoc=Izveidot Doc +RebuildDoc=Pārtaisīt Doc Entity=Vide Entities=Subjekti EventLogs=Baļķi @@ -634,7 +634,7 @@ AttributeCode=Atribūts kods OptionalFieldsSetup=Papildus atribūtu iestatīšana URLPhoto=URL foto / logo SetLinkToThirdParty=Saite uz citu trešo pusei -CreateDraft=Izveidot projektu +CreateDraft=Izveidot melnrakstu ClickToEdit=Klikšķiniet, lai rediģētu ObjectDeleted=Objekts %s dzēsts ByCountry=Pēc valsts @@ -670,13 +670,13 @@ Thursday=Ceturtdiena Friday=Piektdiena Saturday=Sestdiena Sunday=Svētdiena -MondayMin=Mo -TuesdayMin=Tu -WednesdayMin=Mēs -ThursdayMin=Th -FridayMin=Fr -SaturdayMin=Sa -SundayMin=Su +MondayMin=Pi +TuesdayMin=Ot +WednesdayMin=Tr +ThursdayMin=Ce +FridayMin=Pie +SaturdayMin=Se +SundayMin=Sv Day1=Pirmdiena Day2=Otrdiena Day3=Trešdiena diff --git a/htdocs/langs/lv_LV/other.lang b/htdocs/langs/lv_LV/other.lang index a124a15b082..fd74a6b1ace 100644 --- a/htdocs/langs/lv_LV/other.lang +++ b/htdocs/langs/lv_LV/other.lang @@ -6,13 +6,13 @@ Tools=Darbarīki ToolsDesc=Šī joma ir veltīta grupas dažādiem rīkiem nav pieejama citās izvēlnes ierakstus.

Šos rīkus var sasniegt no izvēlnes uz pusi. Birthday=Dzimšanas diena BirthdayDate=Dzimšanas diena -DateToBirth=Līdzšinējie dzimšanas -BirthdayAlertOn= dzimšanas brīdinājumu aktīvs -BirthdayAlertOff= dzimšanas brīdinājumu neaktīvs +DateToBirth=Dzimšanas datums +BirthdayAlertOn= dzimšanas dienas brīdinājums aktīvs +BirthdayAlertOff= dzimšanas dienas brīdinājums neaktīvs Notify_FICHINTER_VALIDATE=Intervences apstiprināts Notify_FICHINTER_SENTBYMAIL=Intervences nosūtīt pa pastu -Notify_BILL_VALIDATE=Klientu rēķins apstiprināts -Notify_BILL_UNVALIDATE=Klientu rēķinu neapstiprinātus +Notify_BILL_VALIDATE=Klienta rēķins apstiprināts +Notify_BILL_UNVALIDATE=Klienta rēķins neapstiprināts Notify_ORDER_SUPPLIER_APPROVE=Piegādātājs, lai apstiprinātu Notify_ORDER_SUPPLIER_REFUSE=Piegādātājs lai atteicās Notify_ORDER_VALIDATE=Klienta rīkojumu apstiprināts @@ -34,7 +34,7 @@ Notify_BILL_SUPPLIER_PAYED=Piegādātāja rēķins jāapmaksā Notify_BILL_SUPPLIER_SENTBYMAIL=Piegādātāja rēķins nosūtīts pa pastu Notify_CONTRACT_VALIDATE=Līgums apstiprināts Notify_FICHEINTER_VALIDATE=Intervences apstiprināts -Notify_SHIPPING_VALIDATE=Piegāde apstiprināts +Notify_SHIPPING_VALIDATE=Piegāde apstiprināta Notify_SHIPPING_SENTBYMAIL=Piegāde nosūtīt pa pastu Notify_MEMBER_VALIDATE=Loceklis apstiprināts Notify_MEMBER_SUBSCRIPTION=Dalībvalsts parakstītā @@ -43,11 +43,11 @@ Notify_MEMBER_DELETE=Biedrs svītrots NbOfAttachedFiles=Skaits pievienotos failus / dokumentus TotalSizeOfAttachedFiles=Kopējais apjoms pievienotos failus / dokumentus MaxSize=Maksimālais izmērs -AttachANewFile=Pievienojiet jaunu failu / dokumentu +AttachANewFile=Pievienot jaunu failu / dokumentu LinkedObject=Saistītais objekts Miscellaneous=Dažādi NbOfActiveNotifications=Paziņojumu skaits -PredefinedMailTest=Tas ir tests pasta \\ nthe divas līnijas ir atdalīti ar rakstatgriezi.. \n\n __ SIGNATURE__ +PredefinedMailTest=Šis ir testa e-pasts \\ nthe divas līnijas ir atdalīti ar rakstatgriezi.. \n\n __ SIGNATURE__ PredefinedMailTestHtml=Tas ir tests pasts (vārds testam jābūt treknrakstā).
Abas līnijas ir atdalīti ar rakstatgriezi.

__SIGNATURE__ PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Jūs atradīsiet šeit rēķinu __ FACREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Mēs vēlētos jūs brīdināt, ka rēķins __ FACREF__, šķiet, netiek samaksāja. Tātad tas ir rēķins arestu atkal, kā atgādinājumu. \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ @@ -67,31 +67,31 @@ DemoCompanyProductAndStocks=Vadīt nelielu vai vidēja uzņēmuma produktu pārd DemoCompanyAll=Pārvaldīt maza vai vidēja uzņēmuma ar vairākiem pasākumiem (visi galvenie moduļi) GoToDemo=Iet uz demo CreatedBy=Izveidoja %s -ModifiedBy=Grozījumi izdarīti ar %s -ValidatedBy=Apstiprinājis %s +ModifiedBy=Laboja %s +ValidatedBy=Apstiprināja %s CanceledBy=Atcēla %s -ClosedBy=Aizver ar %s -FileWasRemoved=Failu %s tika noņemts -DirWasRemoved=Directory %s tika noņemts +ClosedBy=Slēdza %s +FileWasRemoved=Fails %s tika dzēsts +DirWasRemoved=Katalogs %s tika dzēsts FeatureNotYetAvailableShort=Pieejams nākamajā versijā -FeatureNotYetAvailable=Iezīme nav pieejama šajā versijā -FeatureExperimental=Eksperimentāla funkcija. Nav stabils šajā versijā +FeatureNotYetAvailable=Šī iespēja nav pieejama šajā versijā +FeatureExperimental=Eksperimentāla funkcija. Nav stabila šajā versijā FeatureDevelopment=Attīstības iezīme. Nav stabils šajā versijā FeaturesSupported=Atbalsta funkcijas Width=Platums Height=Augstums Depth=Dziļums -Top=Tops +Top=Augša Bottom=Apakša -Left=Left -Right=Tiesības +Left=Kreisā puse +Right=Labā puse CalculatedWeight=Aprēķina svars CalculatedVolume=Aprēķinātais tilpums Weight=Svars TotalWeight=Kopējais svars WeightUnitton=tonnas WeightUnitkg=kg -WeightUnitg=g +WeightUnitg=gr WeightUnitmg=mg WeightUnitpound=mārciņa Length=Garums @@ -117,7 +117,7 @@ VolumeUnitinch3=in3 VolumeUnitounce=unce VolumeUnitlitre=litrs VolumeUnitgallon=galons -Size=lielums +Size=izmērs SizeUnitm=m SizeUnitdm=dm SizeUnitcm=cm @@ -167,11 +167,11 @@ ThisIsListOfModules=Šis ir saraksts ar moduļu izraudzītās Šajā demo profil ClickHere=Noklikšķiniet šeit UseAdvancedPerms=Izmantojiet papildu atļaujas dažu moduļu FileFormat=Faila formāts -SelectAColor=Izvēlieties krāsu +SelectAColor=Izvēliieties krāsu AddFiles=Pievienot failus -StartUpload=Sākt augšupielādēt +StartUpload=Sākt augšupielādi CancelUpload=Atcelt augšupielādēt -FileIsTooBig=Faili ir pārāk liels +FileIsTooBig=Faili ir pārāk lieli PleaseBePatient=Lūdzu, esiet pacietīgi ... RequestToResetPasswordReceived=Pieprasījumu, lai mainītu savu Dolibarr paroli ir saņemta NewKeyIs=Tas ir jūsu jaunās atslēgas, lai pieteiktos @@ -210,6 +210,6 @@ LibraryVersion=Versija ExportableDatas=Eksportējami dati NoExportableData=Nav eksportējami dati (nav moduļi ar eksportējami datu ielādes, vai trūkstošos atļaujas) ToExport=Eksportēt -NewExport=Jauns eksporta +NewExport=Jauns eksports ##### External sites ##### ExternalSites=Ārējās vietas diff --git a/htdocs/langs/lv_LV/products.lang b/htdocs/langs/lv_LV/products.lang index 4ecbeb608a8..b48f89667cb 100644 --- a/htdocs/langs/lv_LV/products.lang +++ b/htdocs/langs/lv_LV/products.lang @@ -100,7 +100,7 @@ PrimaryWay=Primārā ceļš PriceRemoved=Cena noņemts BarCode=Svītrkods BarcodeType=Svītrkoda veids -SetDefaultBarcodeType=Uzstādīt svītrkoda tipu +SetDefaultBarcodeType=Uzstādīt svītrkoda veidu BarcodeValue=Svītrkoda vērtība NoteNotVisibleOnBill=Piezīme (nav redzama rēķinos, priekšlikumos ...) CreateCopy=Izveidot kopiju diff --git a/htdocs/langs/lv_LV/sms.lang b/htdocs/langs/lv_LV/sms.lang index 4d5167678f0..4bf682480f3 100644 --- a/htdocs/langs/lv_LV/sms.lang +++ b/htdocs/langs/lv_LV/sms.lang @@ -1,8 +1,8 @@ # Dolibarr language file - Source file is en_US - sms Sms=Sms SmsSetup=Sms iestatīšana -SmsDesc=Šī lapa ļauj definēt Globālie iespējas, SMS funkcijas -SmsCard=SMS Card +SmsDesc=Šī lapa ļauj definēt Globālās SMS iespējas +SmsCard=SMS karte AllSms=Visas SMS kampaņas SmsTargets=Mērķi SmsRecipients=Mērķi @@ -10,29 +10,29 @@ SmsRecipient=Mērķis SmsTitle=Apraksts SmsFrom=Nosūtītājs SmsTo=Mērķis -SmsTopic=Tēma SMS +SmsTopic=SMS Tēma SmsText=Ziņa -SmsMessage=SMS ziņojumu +SmsMessage=SMS ziņojums ShowSms=Rādīt Sms -ListOfSms=Saraksts SMS campains -NewSms=Jauna SMS informācijas kampaņas +ListOfSms=SMS ampaņu saraksts +NewSms=Jauna SMS kampaņa EditSms=Labot Sms -ResetSms=Jauns sūtīšana -DeleteSms=Dzēst Sms informācijas kampaņas -DeleteASms=Noņemt Sms informācijas kampaņas -PreviewSms=Previuw Sms +ResetSms=Jauna sūtīšana +DeleteSms=Dzēst Sms kampaņu +DeleteASms=Noņemt Sms kampaņu +PreviewSms=Apskatīt Sms PrepareSms=Sagatavot sms CreateSms=Izveidot SMS -SmsResult=Rezultāts SMS nosūtīšanas +SmsResult=SMS sutīšanas rezultāts TestSms=Testa Sms ValidSms=Apstiprināt Sms ApproveSms=Apstiprināt Sms SmsStatusDraft=Melnraksts -SmsStatusValidated=Validēta +SmsStatusValidated=Pārbaudīts SmsStatusApproved=Apstiprināts -SmsStatusSent=Nosūtīts +SmsStatusSent=Sūtīt SmsStatusSentPartialy=Nosūtīts daļēji -SmsStatusSentCompletely=Nosūtīja pilnīgi +SmsStatusSentCompletely=Nosūtīta pilnīgi SmsStatusError=Kļūda SmsStatusNotSent=Nav nosūtīts SmsSuccessfulySent=Sms pareizi nosūtīti (no %s līdz %s) @@ -45,7 +45,7 @@ NbOfRecipients=Skaits mērķus NbOfUniqueSms=Nb DOF unikālo tālruņa numuriem NbOfSms=Nbre no fona numuru ThisIsATestMessage=Šī ir testa ziņa -SendSms=Sūti SMS +SendSms=Sūtīt SMS SmsInfoCharRemain=Nb atlikušo rakstzīmju SmsInfoNumero= (Formāts starptautiskā ti: 33899701761) DelayBeforeSending=Kavēšanās pirms nosūtīšanas (minūtēs) diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index e4e4a45c3f7..57a8b5b193b 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -2,8 +2,8 @@ Foundation=Dernek Version=Sürüm VersionProgram=Program sürümü -VersionLastInstall=İlk kurulan sürüm -VersionLastUpgrade=Son yükseltilen sürüm +VersionLastInstall=İlk kurulum sürümü +VersionLastUpgrade=Son yükseltme sürümü VersionExperimental=Deneysel VersionDevelopment=Geliştirme VersionUnknown=Bilinmeyen @@ -15,18 +15,18 @@ PurgeSessions=Oturum Temizleme ConfirmPurgeSessions=Gerçekten tüm oturumları temizlemek istiyor musunuz? Bu (kendiniz hariç), tüm kullanıcıların bağlantılarını kesecektir. NoSessionListWithThisHandler=PHP nizde yapılandırılmış olan oturum kayıt işlemcisi çalışmakta olan tüm oturumların listelenmesine izin vermiyor. LockNewSessions=Yeni bağlantıları kilitle -ConfirmLockNewSessions=Herhangi bir yeni Dolibarr bağlantısını yalnız kendinizle kısıtlamak istediğinizden emin misiniz? Bundan sonra yalnızca %s bağlanabilecektir. +ConfirmLockNewSessions=Herhangi bir yeni Dolibarr bağlantısını yalnız kendinizle kısıtlamak istediğinizden emin misiniz? Bundan sonra yalnızca %s kullanıcısı bağlanabilecektir. UnlockNewSessions=Bağlantı kilidini kaldır YourSession=Oturumunuz Sessions=Kullanıcı oturumu WebUserGroup=Web sunucusu kullanıcısı/grubu -NoSessionFound=PHP niz etkin oturumların listelenmesine izin vermiyor gibi görünüyor. Oturumları kaydetmek için kullanılan (%s) dizini korumalı olabilir (Örneğin işletim sistemi izinleri ve PHP yönergesi open_basedir tarafından korunuyor olabilir). +NoSessionFound=PHP niz etkin oturumların listelenmesine izin vermiyor gibi görünüyor. Oturumları kaydetmek için kullanılan (%s) dizini korumalı olabilir (Örneğin, işletim sistemi izinleri ve PHP yönergesi open_basedir tarafından korunuyor olabilir). HTMLCharset=HTML sayfaları oluşturmak için karakter seti -DBStoringCharset=Veri kaydı için Veritabanı karakter seti +DBStoringCharset=Veri kaydı için veritabanı karakter seti DBSortingCharset=Veri sıralamak için veritabanı karakter seti WarningModuleNotActive=%s modülü etkin olmalıdır -WarningOnlyPermissionOfActivatedModules=Burada sadece etkinleştirilmiş modüllerle ile ilgili izinler gösterilir. Diğer modülleri Giriş->Ayarlar->Modüller (Home->Setup->Modules) sayfasından etkinleştirebilirsiniz. -DolibarrSetup=Dolibarr kurulumu ya da yükseltmesi +WarningOnlyPermissionOfActivatedModules=Burada sadece etkinleştirilmiş modüllerle ile ilgili izinler gösterilir. Diğer modülleri Giriş->Ayarlar->Modüller sayfasından etkinleştirebilirsiniz. +DolibarrSetup=Dolibarr kurma ya da yükseltme DolibarrUser=Dolibarr kullanıcısı InternalUser=İç kullanıcı ExternalUser=Dış kullanıcı @@ -35,34 +35,34 @@ ExternalUsers=Dış kullanıcılar GlobalSetup=Genel Ayarlar GUISetup=Görünüm SetupArea=Ayarlar alanı -FormToTestFileUploadForm=Dosya yüklemesi test formu (kuruluma göre) -IfModuleEnabled=Not:Yalnızca %s modülü etkinleştirildiğinde Evet etkilidir. -RemoveLock=%s Dosyasını, güncelleme aracının kullanımına izin vermek için belirmişse kaldırın. -RestoreLock=%s Dosyasını, güncelleme aracının her hangi bir kullanımını engellemek için, yalnızca okuma izniyle değiştirin. +FormToTestFileUploadForm=Dosya yükleme deneme formu (kuruluma göre) +IfModuleEnabled=Not: evet yalnızca %s modülü etkinse etkilidir. +RemoveLock=%s dosyasını, güncelleme aracının kullanımına izin vermek için belirmişse kaldırın. +RestoreLock=%s dosyasını, güncelleme aracının her hangi bir kullanımını engellemek için, yalnızca okuma izniyle değiştirin. SecuritySetup=Güvenlik ayarları ErrorModuleRequirePHPVersion=Hata, bu modül %s veya daha yüksek PHP sürümü gerektirir. ErrorModuleRequireDolibarrVersion=Hata, bu modül %s veya daha yüksek Dolibarr sürümü gerektirir. ErrorDecimalLargerThanAreForbidden=Hata, %s den daha yüksek hassasiyet desteklenmez. DictionnarySetup=Sözlük ayarları Dictionnary=Sözlükler -ErrorReservedTypeSystemSystemAuto='system' ve 'systemauto' değerleri tip için ayrılmıştır. 'kullanıcı'yı kendi kayıtlarınıza eklemek için değer olarak kullanabilirsiniz +ErrorReservedTypeSystemSystemAuto='system' ve 'systemauto' değerleri tür için ayrılmıştır. 'kullanıcı'yı kendi kayıtlarınıza eklemek için değer olarak kullanabilirsiniz ErrorCodeCantContainZero=Kod 0 değeri içeremez DisableJavascript=Javascript ve Ajax fonksiyonlarını engelle ConfirmAjax=Açılır Ajax onay pencereleri kullanın UseSearchToSelectCompany=Üçüncü partileri seçmek için (liste kutusu yerine) oto tamamlamalı alanları kullanın.

Çok sayıda üçüncü parti (>100 000) olsa da Ayarlar->Diğer de SOCIETE_DONOTSEARCH_ANYWHERE değişmezini 1 yaparak hızı arttırabilirsiniz. Bundan sonra arama yalnızca dizenin başlangıcı ile sınırlıdır. -ActivityStateToSelectCompany= Halen etkin olan ya da durdmuş olan üçüncü partilerin görünmesi/gizlenmesi bir süzgeç seçeneği ekleyin +ActivityStateToSelectCompany= Halen faaliyette olan olan ya da durdurulmuş olan üçüncü partilerin görünmesi/gizlenmesi için bir süzgeç seçeneği ekleyin UseSearchToSelectContact=Kişi seçmek için (liste kutusu yerine) oto tamamlamalı alanları kullanın.

Çok sayıda üçüncü parti (>100 000) olsa da Ayarlar->Diğer den CONTACT_DONOTSEARCH_ANYWHERE değişmezini 1 yaparak hızı arttırabilirsiniz. Bundan sonra arama yalnızca dizenin başlangıcı ile sınırlı olacaktır. SearchFilter=Arama süzgeçi seçenekleri NumberOfKeyToSearch=Aramayı başlatacak karakter sayısı: %s -ViewFullDateActions=Üçüncü sayfada tüm eylem tarihlerini göster +ViewFullDateActions=Üçüncü sayfada tam gün eylemlerini göster NotAvailableWhenAjaxDisabled=Ajax devre dışı olduğunda kullanılamaz JavascriptDisabled=JavaScript devre dışı UsePopupCalendar=Tarih girişi için açılır pencere kullan UsePreviewTabs=Önizleme sekmesi kullan -ShowPreview=Önizlemeyi göster -PreviewNotAvailable=Önizleme mevcut değil +ShowPreview=Önizleme göster +PreviewNotAvailable=Önizleme yok ThemeCurrentlyActive=Geçerli etkin tema -CurrentTimeZone=PHP saat dilimi (sunucu) +CurrentTimeZone=PHP Saat Dilimi (sunucu) Space=Boşluk Table=Tablo Fields=Alanlar @@ -74,23 +74,23 @@ NextValueForCreditNotes=Sonraki değer (alacak dekontları) NextValueForDeposit=Sonraki değer (yatırılan) NextValueForReplacements=Sonraki değer (yenileme) MustBeLowerThanPHPLimit=Not: PHP niz yüklenen her dosyanın boyutunu, parametrelerin değeri ne olursa olsun %s %s ile sınırlandırır -NoMaxSizeByPHPLimit=Not: PHP yapılandırmasında hiç sınır ayarlanmamış +NoMaxSizeByPHPLimit=Not: PHP yapılandırmanızda hiç sınır ayarlanmamış MaxSizeForUploadedFiles=Yüklenen dosyalar için ençok boyut (herhangi bir yüklemeye izin vermemek için 0 a ayarlayın) -UseCaptchaCode=Giriş sayfasında grafik kodu kullanın -UseAvToScanUploadedFiles=Yüklenen dosyaların taranması için Anti-virüs kullanın +UseCaptchaCode=Giriş sayfasında grafiksel kod (CAPTCHA) kullan +UseAvToScanUploadedFiles=Yüklenen dosyaların taranması için anti-virüs kullan AntiVirusCommand= Antivirüs komutu tam yolu -AntiVirusCommandExample= ClamWin için örnek: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
ClamWin için örnek: /usr/bin/clamscan -AntiVirusParam= Komut satırında daha fazla parametre +AntiVirusCommandExample= ClamWin için örnek: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
ClamAv için örnek: /usr/bin/clamscan +AntiVirusParam= Komut satırında daha çok parametre AntiVirusParamExample= ClamWin için örnek: --database="C:\\Program Files (x86)\\ClamWin\\lib" -ComptaSetup=Muhasebe modülü kurulumu -UserSetup=Kullanıcı yönetimi kurulumu -MenuSetup=Menü yönetimi kurulumu +ComptaSetup=Muhasebe modülü ayarları +UserSetup=Kullanıcı yönetimi ayarları +MenuSetup=Menü yönetimi ayarları MenuLimits=Sınırlar ve doğruluk MenuIdParent=Ana menü ID DetailMenuIdParent=Ana menü ID (bir üst menü için boş) DetailPosition=Menü konumunu tanımlamak için sıra numarası PersonalizedMenusNotSupported=Kişiselleştirilmiş menüler desteklenmiyor -AllMenus=Hepsi +AllMenus=Tümü NotConfigured=Modül yapılandırılmamış Setup=Ayarlar Activation=Etkinleştirme @@ -114,7 +114,7 @@ ClientHour=İstemci Saati (kullanıcı) OSTZ=İşletim Sistemi sunucusu Saat Dilimi PHPTZ=PHP Saat Dilimi (sunucu) PHPServerOffsetWithGreenwich=PHP sunucusu Greenwich genişlik sapması (saniye) -ClientOffsetWithGreenwich=İstemci/Tarayıcı Greewich genişlik sapması (saniye) +ClientOffsetWithGreenwich=İstemci/Tarayıcı Greenwich genişlik sapması (saniye) DaylingSavingTime=Yaz saati CurrentHour=PHP saati (sunucu) CompanyTZ=Firma Saat Dilimi (ana firma) @@ -168,13 +168,13 @@ FileNameToGenerate=Oluşturulacak dosya adı Compression=Sıkıştırma CommandsToDisableForeignKeysForImport=İçeaktarmada devre dışı bırakılacak yabancı komut tuşları CommandsToDisableForeignKeysForImportWarning=SQL dökümünü daha sonra geri yükleyebilmeyi isterseniz zorunludur -ExportCompatibility=Oluşturulan dışaaktarım dosyasının uyumuluğu -MySqlExportParameters=MySQL dışaaktarım parametreleri +ExportCompatibility=Oluşturulan verme dosyasının uyumluluğu +MySqlExportParameters=MySQL verme parametreleri PostgreSqlExportParameters= PostgreSQL dışaaktarım parametreleri UseTransactionnalMode=İşlem modunu kullanın FullPathToMysqldumpCommand=mysqldump komutu için tam yol FullPathToPostgreSQLdumpCommand=pg_dump komutunun tam yolu -ExportOptions=Dışaaktarım seçenekleri +ExportOptions=Verme seçenekleri AddDropDatabase=DROP VERİTABANI komutu ekle AddDropTable=DROP TABLOSU komutu ekle ExportStructure=Yapısı @@ -442,7 +442,7 @@ Module200Name=LDAP Module200Desc=LDAP dizin senkronizasyonu Module210Name=PostNuke Module210Desc=PostNuke entegrasyonu -Module240Name=Veri dışaaktarımı +Module240Name=Veri verme Module240Desc=Dolibarr verilerini dışaaktarma aracı (yardımlı) Module250Name=Veri içeaktarımı Module250Desc=Dolibarr verilerini içeaktarma aracı (yardımlı) @@ -689,7 +689,7 @@ Permission1185=Tedarikçi siparişi onayla Permission1186=Tedarikçi siparişi ver Permission1187=Tedarikçi siparişi alındı fişi Permission1188=Tedarikçi siparişi kapat -Permission1201=Bir dışaaktarım sonucu al +Permission1201=Bir verme sonucu al Permission1202=Dışaaktarma oluştur/değiştir Permission1231=Tedarikçi faturalarını oku Permission1232=Tedarikçi faturaları oluştur/değiştir @@ -1424,7 +1424,7 @@ AccountancyCodeSell=Satış hesap. kodu AccountancyCodeBuy=Alış hesap. kodu ##### Agenda ##### AgendaSetup=Eylem ve gündem modülü kurulumu -PasswordTogetVCalExport=Dışaaktarım bağlantı yetki anahtarı +PasswordTogetVCalExport=Verme bağlantısı yetki anahtarı PastDelayVCalExport=Daha büyük eylemi dışaaktarma AGENDA_USE_EVENT_TYPE=Etkinlik türleri kullan (Yapılandırma->Sözlük->llx_c_actioncomm menüsünden yürütülür) ##### ClickToDial ##### diff --git a/htdocs/langs/tr_TR/agenda.lang b/htdocs/langs/tr_TR/agenda.lang index bb593052c10..efe60e3c9e7 100644 --- a/htdocs/langs/tr_TR/agenda.lang +++ b/htdocs/langs/tr_TR/agenda.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - agenda -# IdAgenda=ID event +IdAgenda=Kimlik etkinliği Actions=Eylemler ActionsArea=Eylem alanı (Olaylar ve görevler) Agenda= Gündem @@ -68,10 +68,10 @@ AgendaUrlOptions5=Çıktıyı kullanıcı%s tarafından yapılan etkinlik AgendaShowBirthdayEvents=Kişilerin doğum günlerini göster AgendaHideBirthdayEvents=Kişilerin doğum günlerini gizle Busy=Meşgul -# ExportDataset_event1=List of agenda events +ExportDataset_event1=Gündem etkinlikleri listesi # External Sites ical -ExportCal=Dışaaktarım takvimi +ExportCal=Takvim ver ExtSites=Dış takvimleri içeaktar ExtSitesEnableThisTool=Dış takvimleri gündemde göster ExtSitesNbOfAgenda=Takvimlerin sayısı diff --git a/htdocs/langs/tr_TR/bills.lang b/htdocs/langs/tr_TR/bills.lang index 467991c76f0..46f792fb52f 100644 --- a/htdocs/langs/tr_TR/bills.lang +++ b/htdocs/langs/tr_TR/bills.lang @@ -225,7 +225,7 @@ Billed=Faturalandı RepeatableInvoice=Ön tanımlı fatura RepeatableInvoices=Ön tanımlı faturalar Repeatable=Ön tanımlı -Repeatables=Ön tanımlılar +Repeatables=Ön tanımlı ChangeIntoRepeatableInvoice=Ön tanımlıya dönüştür CreateRepeatableInvoice=Ön tanımlı fatura oluştur CreateFromRepeatableInvoice=Ön tanımlı faturadan oluştur diff --git a/htdocs/langs/tr_TR/boxes.lang b/htdocs/langs/tr_TR/boxes.lang index 946dc4da951..abcc2c53534 100644 --- a/htdocs/langs/tr_TR/boxes.lang +++ b/htdocs/langs/tr_TR/boxes.lang @@ -24,9 +24,9 @@ BoxTotalUnpaidCustomerBills=Toplam ödenmemiş müşteri faturaları BoxTotalUnpaidSuppliersBills=Toplam ödenmemiş tedarikçi faturaları BoxTitleLastBooks=Son yapılan %s kayıt BoxTitleNbOfCustomers=Müşteri sayısı -BoxTitleLastRssInfos=%s ten en son %s haber +BoxTitleLastRssInfos=%s ten en son %s haberler BoxTitleLastProducts=Son değiştirilen % s ürün/hizmet -BoxTitleProductsAlertStock=Stoktaki ürün uyarısı +BoxTitleProductsAlertStock=Stok uyarısındaki ürünler BoxTitleLastCustomerOrders=Son değiştirilen %s müşteri siparişi BoxTitleLastSuppliers=Son kaydedilen %s tedarikçi BoxTitleLastCustomers=Son kaydedilen %s müşteri @@ -85,7 +85,7 @@ BoxSuppliersOrdersPerMonth=Aylık tedarikçi siparişleri BoxProposalsPerMonth=Aylık teklifler NoTooLowStockProducts=Düşük stok seviyesi altında stok yok BoxProductDistribution=Ürün/Hizmet dağılımı -BoxProductDistributionFor=%s için %s dağıtımı +BoxProductDistributionFor=%sin %s içindeki dağılımı ForCustomersInvoices=Müşteri faturaları ForCustomersOrders=Müşteri siparişleri ForProposals=Teklifler diff --git a/htdocs/langs/tr_TR/exports.lang b/htdocs/langs/tr_TR/exports.lang index 072bb867c69..1bb7d81b1c2 100644 --- a/htdocs/langs/tr_TR/exports.lang +++ b/htdocs/langs/tr_TR/exports.lang @@ -14,11 +14,11 @@ SaveExportModel=Yeniden kullanmak için bu verme profilini kaydedebilirsiniz... SaveImportModel=Yeniden kullanmak için bu alma profilini kaydedebilirsiniz... ExportModelName=Verme profili adı ExportModelSaved=Alma profili %s adıyla kaydedildi. -ExportableFields=Verilebilecek alanlar +ExportableFields=Verilebilir alanlar ExportedFields=Verilen alanlar ImportModelName=Alma profili adı ImportModelSaved=Alma profili %s adıyla kaydedildi. -ImportableFields=Alınabilecek alanlar +ImportableFields=Alınabilir alanlar ImportedFields=Alınan alanlar DatasetToExport=Verilecek veri kümesi DatasetToImport=Veri kümesine alınacak dosya @@ -29,7 +29,7 @@ FieldsOrder=Alan sırası FieldsTitle=Alanların başlığı FieldOrder=Alan sırası FieldTitle=Alan başlğı -ChooseExportFormat=Verme biçimini seçin +ChooseExportFormat=Verme biçimini seç NowClickToGenerateToBuildExportFile=Şimdi, açılan kutudan dosya biçimini seçin ve verilecek dosyayı oluşturmak için "Oluşturun" düğmesine tıklayın... AvailableFormats=Kullanılabilecek biçimler LibraryShort=Kitaplık diff --git a/htdocs/langs/tr_TR/holiday.lang b/htdocs/langs/tr_TR/holiday.lang index 41a98ef40fc..efed745350e 100644 --- a/htdocs/langs/tr_TR/holiday.lang +++ b/htdocs/langs/tr_TR/holiday.lang @@ -16,7 +16,7 @@ DateCreateCP=Oluşturma tarihi DraftCP=Taslak ToReviewCP=Onay bekliyor ApprovedCP=Onaylandı -CancelCP=Şptal edildi +CancelCP=İptal edildi RefuseCP=Reddedildi ValidatorCP=Onaylayan ListeCP=Tatil listesi diff --git a/htdocs/langs/tr_TR/main.lang b/htdocs/langs/tr_TR/main.lang index fd093e447c3..3179ff568c5 100644 --- a/htdocs/langs/tr_TR/main.lang +++ b/htdocs/langs/tr_TR/main.lang @@ -392,7 +392,7 @@ ReCalculate=Yeniden hesapla ResultOk=Başarılı ResultKo=Başarısız Reporting=Raporlama -Reportings=Raporlamalar +Reportings=Raporlama Draft=Taslak Drafts=Taslaklar Validated=Doğrulanmış diff --git a/htdocs/langs/tr_TR/orders.lang b/htdocs/langs/tr_TR/orders.lang index 7e05b122320..188078bcc58 100644 --- a/htdocs/langs/tr_TR/orders.lang +++ b/htdocs/langs/tr_TR/orders.lang @@ -16,9 +16,9 @@ SupplierOrder=Tedarikçi siparişi SuppliersOrders=Tedarikçi siparişleri SuppliersOrdersRunning=Mevcut tedarikçi siparişleri CustomerOrder=Müşteri siparişi -CustomersOrders=Müşterilerin siparişleri -CustomersOrdersRunning=Mevcut müşterilerin siparişleri -CustomersOrdersAndOrdersLines=Müşteri siparişleri ve sipariş satırları +CustomersOrders=Müşteri siparişleri +CustomersOrdersRunning=Mevcut müşteri siparişleri +CustomersOrdersAndOrdersLines=Müşteri siparişleri ve sipariş kalemleri OrdersToValid=Doğrulanacak müşteri siparişleri OrdersToBill=Faturalanacak müşteri siparişleri OrdersInProcess=İşlemde olan müşteri siparişleri diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index 181c1c3251f..5a2fd6d6671 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - products ProductRef=Ürün ref. ProductLabel=Ürün etiketi -ProductServiceCard=Ürünler/Hizmetler kartı +ProductServiceCard=Ürün/Hizmet kartı Products=Ürünler Services=Hizmetler Product=Ürün @@ -151,13 +151,13 @@ NoPriceDefinedForThisSupplier=Bu tedarikçi/ürün için fiyat/miktar tanımlanm NoSupplierPriceDefinedForThisProduct=Bu ürün için tedarikçi fiyatı/miktarı tanımlanmamış RecordedProducts=Ürünler kaydedildi RecordedServices=Hizmetler kaydedildi -RecordedProductsAndServices=Ürünler/hizmetler kaydedildi +RecordedProductsAndServices=Ürün/hizmet kaydedildi GenerateThumb=Kararlama (thumb) oluştur ProductCanvasAbility=Özel “kanvas” eklentileri kullan ServiceNb=Hizmet sayısı #%s -ListProductServiceByPopularity=Popülerliğe göre ürün / hizmet listesi -ListProductByPopularity=Tutularlığına göre ürünler/hizmetler Listesi -ListServiceByPopularity=Tutulan hizmetler listesi +ListProductServiceByPopularity=Popülerliğine göre ürün/hizmet listesi +ListProductByPopularity=Popülerliğine göre ürünler/hizmetler Listesi +ListServiceByPopularity=Popülerliğine göre hizmetler listesi Finished=Üretilen ürünler RowMaterial=İlk malzeme CloneProduct=Ürün veya hizmet klonla From 89f32bf46e802ac7802b6f8f87f4159c3233d9a7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Nov 2013 18:45:04 +0100 Subject: [PATCH 41/51] Update doc --- build/debian/README.howto | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/build/debian/README.howto b/build/debian/README.howto index 345b086ed5d..cbd4e13f993 100644 --- a/build/debian/README.howto +++ b/build/debian/README.howto @@ -192,7 +192,17 @@ http://packages.qa.debian.org/t/tcpdf.html ##### Update but tracker system To set status of a bug to pending -> bts tag 728235 +pending +> bts tag 999999 +pending + +or replay to email 999999@bugs.debian.org + submitter of bug +With a message starting with: +Control: tag -1 +pending +and then a text like: +Thanks. Fixed into git. + +or replay to email control@bugs.debian.org +With only message +tag 729538 +pending From cd5f2b8239bd8b208027056b346b62d11a1707da Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Nov 2013 20:00:18 +0100 Subject: [PATCH 42/51] Add tool to make stress tests --- test/awbot/README | 7 ++ test/awbot/awbot.test.conf | 139 +++++++++++++++++++++++++++++++++++++ test/awbot/output/README | 3 + 3 files changed, 149 insertions(+) create mode 100644 test/awbot/README create mode 100644 test/awbot/awbot.test.conf create mode 100644 test/awbot/output/README diff --git a/test/awbot/README b/test/awbot/README new file mode 100644 index 00000000000..cca94cd2b82 --- /dev/null +++ b/test/awbot/README @@ -0,0 +1,7 @@ +README (English) +-------------------------------- +This directory contains files for stress tests using AWBot. +To run them: + +'/home/ldestailleur/git/awbot/bin/awbotlaunch.pl' -config=awbot.test.conf -nbsessions=1 + diff --git a/test/awbot/awbot.test.conf b/test/awbot/awbot.test.conf new file mode 100644 index 00000000000..401ab71803a --- /dev/null +++ b/test/awbot/awbot.test.conf @@ -0,0 +1,139 @@ +# AWBot 1.0 Config file +#----------------------------------------------------------------------------- +# Note that everywhere in the file you can include : +# __MONENV__ to ask AWBot to replace tag by value of environment variable MONENV +# $MYVAR to ask AWBot to replace tag by value of variable already defined +# in this same config file. +# $STARTSESSION is defined to 1 if AWbot is ran as a standalone process, +# defined to first session number if ran from AWBotlaunch. +# $NUMSESSION is defined to 1 if AWbot is ran as a standalone process, +# defined to session number if ran from AWBotlaunch. +# $NBSESSION is defined to 1 if AWbot is ran as a standalone process, +# defined to total number of sessions if ran from AWBotlaunch. +# You can also include perl code in values everywhere in the file. +#----------------------------------------------------------------------------- + + + +# INIT PARAMETERS SECTION +#----------------------------------------------------------------------------- +# Put here all global parameters of your test configuration. +# +# Examples: +# OUTPUTDIR="/myoutputdir" +#----------------------------------------------------------------------------- +OUTPUTDIR = "./output" # Directory where to store result output file(s) + +SERVER = "localhostdolibarr" # Domain name of main server to test (www.mysite.com) +#SERVER = "15.126.208.32" +#USER = "test" # If your web application require a Basic authentication, this is the login that awbot will use for this test session +#PASSWORD = "test" # If your web application require a Basic authentication, this is the password that awbot will use for this test session +#PROXYSERVER = "http://my.proxy.server:port/" # If the web application to test is after a proxy + +BOTNAME = "AWBot" # String value to force bot name used in the user agent string +DELAY = 0 # Delay beetween each HTTP request (-1 wait a key, 0 no delay, n number of seconds) +MAXSIZE = 0 # Maximum size of HTTP response (0 = no limit) +TIMEOUT = 120 # Timeout (when waiting for a server response after sending a request) +LANG = "en" # Choose output language + + + +# DATABASE PARAMETERS SECTION +#----------------------------------------------------------------------------- +# This section is required only if you added SQL requests in your ACTIONS section (see later) +# +# Examples: +# BASEENGINE="mysql" +# USERBASE=($USER eq "toto"?"titi":$USER) +#----------------------------------------------------------------------------- +#BASEENGINE = "Oracle" # Here is the name of the perl DBD driver (mysql, ODBC, Oracle, Sybase...) +#DSN = "mybase" # Database name +#USERBASE = "myuser" # Database login +#PASSWORDBASE = "mypassword" # Database password + + + +# OTHER PARAMETERS SECTION +#----------------------------------------------------------------------------- +# You can add here as many parameters as you need for rest of config file. +# Just use the following syntax (where n is a number between 1 and 99): +# PARAMn=value +# PARAMn="SELECT SQL request" +# +# Examples: +# PARAM1="select id from employee where name='$USER'" +# PARAM2=2000+$PARAM1 +#----------------------------------------------------------------------------- +PARAM1 = 1 + + + +# LIST OF ACTIONS TO EXECUTE BEFORE A TEST +#----------------------------------------------------------------------------- +# You can use one of the keyword: +# SEQUENCE To set a database sequence to a value (see examples, for Oracle only) +# SQL To delete/insert some records in the database (see examples) +# SCRIPT To launch an external script +# +# Examples: +# SEQUENCE "myseq" $PARAM3+1 +# SQL "delete from customers where id_customers < ".($PARAM1+$PARAM2) +# SCRIPT "myscript.exe" +#----------------------------------------------------------------------------- +
+
+ + + +# LIST OF ORDERED URLS TO TEST +#----------------------------------------------------------------------------- +# Use the following format: +# GET To get an HTML page (using GET HTTP method, like HTML links) +# POST To get an HTML page (using POST HTTP method, like HTML forms) +# CHECKYES To check if string is found in last response (using POSIX regex) +# CHECKNO To check if a string is not found in last response (using POSIX regex) +# VAR To extract a parameter from last response (using POSIX regex) +# SEQUENCE To set a database sequence to a value (see examples, for Oracle only) +# SQL To delete/insert some records in the database (see examples) +# SCRIPT To launch an external script +# WRITETO Write last html response to a file +# WRITETOH Write last html response with its HTTP header to a file (full response) +# AUTO To make a GET on all URLs find in last HTML response page and follow +# links on n level +# DELAY To change the wait delay used after requests on URLs +# +# +# Examples: +# GET "http://$SERVER/mypage.html?x=y&v=w" +# POST "http://$SERVER/mypage.html?x=y&v=w" +# CHECKYES "xxx" +# CHECKNO "eee" +# VAR "VARNAME:idvar=(\d)" +# SEQUENCE "myseq" $PARAM3+1 +# SQL "delete from customers" +# SCRIPT "myscript.exe" +# WRITETO "myfile.html" +# WRITETOH "myfile.http" +# AUTO 1 +# DELAY 2 +#----------------------------------------------------------------------------- + +GET "http://$SERVER/dolibarr_new/user/logout.php" +CHECKYES "loginfunction" +POST "http://$SERVER/dolibarr_new/index.php?username=admin&password=bad" +CHECKYES "Bad value for login or password" +POST "http://$SERVER/dolibarr_new/index.php?username=admin&password=admin" +CHECKYES "Dolibarr - Home area" +GET "http://$SERVER/dolibarr_new/societe/index.php?mainmenu=companies&leftmenu=" +CHECKYES "Third parties area" +GET "http://$SERVER/dolibarr_new/admin/tools/index.php?mainmenu=home&leftmenu=modulesadmintools" + + + + +# LIST OF ACTIONS TO EXECUTE AFTER A TEST +#----------------------------------------------------------------------------- +# You can use same rules for LIST OF ACTIONS TO EXECUTE BEFORE A TEST. +#----------------------------------------------------------------------------- + + diff --git a/test/awbot/output/README b/test/awbot/output/README new file mode 100644 index 00000000000..e0c9fb5f7a0 --- /dev/null +++ b/test/awbot/output/README @@ -0,0 +1,3 @@ +README (English) +-------------------------------- +This directory contains files output of stress tests using AWBot. From 2178ab60076b7dfa1ea3b6189056a4d535d43278 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Wed, 27 Nov 2013 22:05:29 +0100 Subject: [PATCH 43/51] Fix [ bug #1156 ] Update TVA mass update tools do not work --- htdocs/product/admin/product_tools.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/admin/product_tools.php b/htdocs/product/admin/product_tools.php index aafe01bbb01..e3ba408bc16 100644 --- a/htdocs/product/admin/product_tools.php +++ b/htdocs/product/admin/product_tools.php @@ -107,7 +107,7 @@ if ($action == 'convert') $newlevel=$level; //print "$objectstatic->id $newprice, $price_base_type, $newvat, $newminprice, $newlevel, $newnpr
\n"; - $retm=$objectstatic->updatePrice($newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr); + $retm=$objectstatic->updatePrice($objectstatic->id, $newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr); if ($retm < 0) { $error++; @@ -136,7 +136,7 @@ if ($action == 'convert') if (! empty($price_base_type) && ! $updatelevel1) { //print "$objectstatic->id $newprice, $price_base_type, $newvat, $newminprice, $newlevel, $newnpr
\n"; - $ret=$objectstatic->updatePrice($newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr); + $ret=$objectstatic->updatePrice($objectstatic->id,$newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr); } if ($ret < 0 || $retm < 0) $error++; From afc729c69406ba7162f7dd59b61dd3e2cea8c87c Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Wed, 27 Nov 2013 22:49:54 +0100 Subject: [PATCH 44/51] [ bug #1153 ] SQL Error on the VAT main screen (with pgsql) --- htdocs/compta/tva/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php index afbc346476b..988faa8593a 100644 --- a/htdocs/compta/tva/index.php +++ b/htdocs/compta/tva/index.php @@ -222,7 +222,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."tva as f"; $sql.= " WHERE f.entity = ".$conf->entity; $sql.= " AND f.datev >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND f.datev <= '".$db->idate(dol_get_last_day($y,12,false))."'"; -$sql.= " GROUP BY dm ASC"; +$sql.= " GROUP BY dm ORDER BY dm ASC"; pt($db, $sql,$langs->trans("Year")." $y"); From 5f8e896e0c94560e6f5ff83656768e5adbb8f806 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Wed, 27 Nov 2013 22:58:49 +0100 Subject: [PATCH 45/51] Fix [ bug #1154 ] Error when closing a service in a contract (pgsql) --- htdocs/contrat/class/contrat.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 73403fd0755..b4168ecc3de 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -2089,7 +2089,7 @@ class ContratLigne $sql.= " total_localtax1='".$this->total_localtax1."',"; $sql.= " total_localtax2='".$this->total_localtax2."',"; $sql.= " total_ttc='".$this->total_ttc."',"; - $sql.= " fk_product_fournisseur_price='".$this->fk_fournprice."',"; + $sql.= " fk_product_fournisseur_price=".(!empty($this->fk_fournprice)?$this->fk_fournprice:"NULL").","; $sql.= " buy_price_ht='".price2num($this->pa_ht)."',"; $sql.= " info_bits='".$this->info_bits."',"; $sql.= " fk_user_author=".($this->fk_user_author >= 0?$this->fk_user_author:"NULL").","; From 88ae0a79453915a69c033883399673a0d78e2385 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Nov 2013 12:58:02 +0100 Subject: [PATCH 46/51] Fix: the rename function is bugged with some windows. I add a workaround. Fix: Add also a workaround for [ bug 1064 ] Date/Time in ICS incorrect. --- htdocs/admin/agenda_xcal.php | 25 ++++++++++++++++--- htdocs/comm/action/class/actioncomm.class.php | 16 ++++++------ htdocs/core/lib/files.lib.php | 15 +++++++++-- htdocs/langs/en_US/admin.lang | 2 ++ htdocs/langs/fr_FR/admin.lang | 2 ++ 5 files changed, 48 insertions(+), 12 deletions(-) diff --git a/htdocs/admin/agenda_xcal.php b/htdocs/admin/agenda_xcal.php index beb7960e4a0..135429e15d3 100644 --- a/htdocs/admin/agenda_xcal.php +++ b/htdocs/admin/agenda_xcal.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2008-2013 Laurent Destailleur * Copyright (C) 2012-2013 Juanjo Menent * Copyright (C) 2012 Regis Houssin * @@ -48,8 +48,9 @@ if ($actionsave) $i+=dolibarr_set_const($db,'MAIN_AGENDA_XCAL_EXPORTKEY',trim(GETPOST('MAIN_AGENDA_XCAL_EXPORTKEY','alpha')),'chaine',0,'',$conf->entity); $i+=dolibarr_set_const($db,'MAIN_AGENDA_EXPORT_PAST_DELAY',trim(GETPOST('MAIN_AGENDA_EXPORT_PAST_DELAY','alpha')),'chaine',0,'',$conf->entity); $i+=dolibarr_set_const($db,'MAIN_AGENDA_EXPORT_CACHE',trim(GETPOST('MAIN_AGENDA_EXPORT_CACHE','alpha')),'chaine',0,'',$conf->entity); - - if ($i >= 3) + $i+=dolibarr_set_const($db,'AGENDA_EXPORT_FIX_TZ',trim(GETPOST('AGENDA_EXPORT_FIX_TZ','alpha')),'chaine',0,'',$conf->entity); + + if ($i >= 4) { $db->commit(); setEventMessage($langs->trans("SetupSaved")); @@ -117,6 +118,24 @@ print "
"; print '
'.$langs->trans("LabelRIB").''.$account->label.'
'.$rib->label.''.$rib->bank.''; if (!$rib->default_rib) { print ''; - print img_picto($langs->trans("Disabled"),'switch_off'); + print img_picto($langs->trans("Disabled"),'off'); print ''; } else { - print img_picto($langs->trans("Enabled"),'switch_on'); + print img_picto($langs->trans("Enabled"),'on'); } print ''; - print ''; - print img_picto($langs->trans("Modify"),'edit'); - print ''; + if ($user->rights->societe->creer) + { + print ''; + print img_picto($langs->trans("Modify"),'edit'); + print ''; + + print ' '; + + print ''; + print img_picto($langs->trans("Delete"),'delete'); + print ''; + } + print '
'.$langs->trans("PhoneMobile").'
'.$langs->trans("Skype").'
'.$langs->trans("PhoneMobile").'phone_mobile).'">
'.$langs->trans("Skype").'skype).'">
'.$langs->trans("PhoneMobile").''.dol_print_phone($object->phone_mobile,$object->country_code,0,$object->fk_soc,1).'
'.$langs->trans("Skype").''.dol_print_skype($object->skype,0,$object->fk_soc,1).'
'.$langs->trans("Skype").''.dol_print_skype($object->skype,0,$object->fk_soc,1).'
'.$langs->trans("Birthday").''.dol_print_date($object->birth,'day').'
'.$langs->trans('Fax').''.dol_print_phone($object->fax,$object->country_code,0,$object->id,'AC_FAX').'
'.$langs->trans('Skype').''.dol_print_skype($object->skype,0,$object->id,'AC_SKYPE').'
'.$langs->trans("IM").'jabberid).'">
'.$langs->trans("Skype").'skype).'">
'.$langs->trans("Skype").'skype).'">
'.$langs->trans("Skype").''.dol_print_skype($object->skype,0,$object->fk_soc,1).'
'; print ''; print ''; print ''; @@ -397,7 +397,7 @@ if ($result) // EMail print ''.dol_print_email($obj->email,$obj->cidp,$obj->socid,'AC_EMAIL',18).''.dol_print_skype($obj->skype,$obj->cidp,$obj->socid,'AC_SKYPE',18).''.dol_print_skype($obj->skype,$obj->cidp,$obj->socid,'AC_SKYPE',18).''.dol_print_date($db->jdate($obj->tms),"day").''.$langs->trans("Skype").'    '; print dol_print_email($obj->email,$obj->rowid,$object->id,'AC_EMAIL'); print ''; print dol_print_skype($obj->skype,$obj->rowid,$object->id,'AC_SKYPE'); diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 8da52e301e6..b91a19a9820 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -1190,11 +1190,11 @@ function dol_print_email($email,$cid=0,$socid=0,$addlink=0,$max=64,$showinvalid= * Show Skype link * * @param string $skype Skype to show (only skype, without 'Name of recipient' before) - * @param int $cid Id of contact if known + * @param int $cid Id of contact if known * @param int $socid Id of third party if known * @param int $addlink 0=no link to create action - * @param int $max Max number of characters to show - * @return string HTML Link + * @param int $max Max number of characters to show + * @return string HTML Link */ function dol_print_skype($skype,$cid=0,$socid=0,$addlink=0,$max=64) { @@ -1208,9 +1208,12 @@ function dol_print_skype($skype,$cid=0,$socid=0,$addlink=0,$max=64) { $newskype=''; - $newskype.=' '; + $newskype.='?call" alt="'.$langs->trans("Call").' '.$skype.'" title="'.$langs->trans("Call").' '.$skype.'">'; + $newskype.=' '; + $newskype.=' '; + $newskype.=' '; $newskype.=''; if (($cid || $socid) && ! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->create) diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index cdf9c3e5770..227ce4442fb 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -68,6 +68,7 @@ CountryId=Country id Phone=Phone Skype=Skype Call=Call +Chat=Chat PhonePro=Prof. phone PhonePerso=Pers. phone PhoneMobile=Mobile diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 9d5a707aac1..cc4d2c6754f 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -876,7 +876,7 @@ else print '
'.$langs->trans('Web').'
'.$langs->trans('Skype').'
'.$langs->trans('Web').'
'.$langs->trans('Skype').'
'.$langs->trans("Country").''; - if ($object->country_code) - { - $img=picto_from_langcode($object->country_code); - if ($object->isInEEC()) print $form->textwithpicto(($img?$img.' ':'').$object->country,$langs->trans("CountryIsInEEC"),1,0); - else print ($img?$img.' ':'').$object->country; - } + if ($object->country_code) + { + $img=picto_from_langcode($object->country_code); + if ($object->isInEEC()) print $form->textwithpicto(($img?$img.' ':'').$object->country,$langs->trans("CountryIsInEEC"),1,0); + else print ($img?$img.' ':'').$object->country; + } print '
'.$langs->trans('Skype').''; print dol_print_skype($object->skype,0,$object->id,'AC_SKYPE'); diff --git a/htdocs/theme/common/skype_callbutton.png b/htdocs/theme/common/skype_callbutton.png new file mode 100644 index 0000000000000000000000000000000000000000..79ee7963fc4e1624244419e2b3806807ec7d32dd GIT binary patch literal 3768 zcmV;p4oC5cP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000ByNklXHzS5>7rcETRAw&&|VuWEVv>+{ynPHea_qgEL zR2)WK$UnJ@d(S!F_doydbtT#z1E>Pp1e%mEnQ`fIw2lKPVR(%t7qc#D0W_-z8>rCm znMb6~MROsQC6RHPloHUOgqc#G^~rS}>0ER<`!DTAfSUjT;=mx_IIGpFqUf^9|gNfo-z^pCs2*A&C8S2-1>1rsWrr3)%*9LfP;0mvPdnM?#-H&}r z?r=3jIUES^9`LwPpv$OrA24OsSIUZvSxW)4KmwRiN|+l@I)oH_*chg!*vr0izY{q$ z!~;EX0AAh_qPfz~$n;{!Rh;0X+2L^!efj592<9sdf67V*#b%hJ6KXp;S z(M4CY#uj|ml2)}LFOf1I$74yheK}4?|7CtlW+@MN$hi7pVDmDg3TOpBH$-xw1~?Bq z3X}ldz%ynor=rT$j8zm^OlLHE&Rk+V>999iMDOl(3_Y=ddnyb0G?t`qDou&s0!;v@ zUS=m`2oL1Rt9f8Qa2N0(a0+-OZ?$R&do4xS4`(i>X+Al@-8cBTJ?!Jou#dKzgY4Q^ z$a7y$(KDK$I^@N1^+FEi6yV9@D-J9G&zj5CnOs~EN(qCpgo9rRKkTTYqrQZ<`Y*Hn z*cc^8M(7zyQ0}*Ai4>B_Y8J8@S#okMrh#EoZ7ZP>IA_A@7_#ZSc0`CAVz>_)r6ap^*zW_IyJ^euWHHGl^ zux2&!s(^j)r@tyL@`65z&w5%$k-z7n}VLY(-Wy}_nsW5WqlFVK@SPX<@{ut zW1|U_f=Gc)%FzgXlY^WFo(6secACbT0(y;NXMx**4@{+Y0G2uX9q^IqZxg^#U`C?d zFv2LE5;lGS=lG<^b-K*B{=qL~#)k~^IL i8$|2X{0aJR_+tR(u~TGXHE^{60000P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000BNNklkiigeBncdl$uM6LmL3C5QD4&aY z`QG<=pZPzh|NBHuEv^}#j8Vy$&;C{%Zu^_^UuA<5~vgH0+lSfoZ#}U~2XWslDPuO{?dsOpe9_xu2bnUm+SiA2p51cPmLqxN z>MCq*9wwWLoh~F(FtHEA-(y>d>b3xKE0%@xYV5_Ju=mmh_xs}&tiTgtuM%@`GiKrG z7~d2Vs#3Ar2W7zOeVyLje%$!g2es@!qdiwNAQO`$F#i&On=uUc_Tkh%+=lmp{$hL* z&SHFtm+=Tb#WSG?79+v)cq_)nbVR7eVuMy*XBsBXh0?f z<1UfnyU~qeAE0B5!3!7?vi2kf25?i64NbfdAK+~0lMakWeT-45h~e3^x!)f3(1ydd zx93%)A~PDZ)=n7Wi-~ovPe)F5pT|>m5kRRBjlN_!zQcj={S!LT6r63t8_qG+j8IC- z?8d!6hw{ZljO7#RjP8G(v1{8jt!p!F^HG0v6x>x?Vfx6dLuYz~Ke-r(??L7tKo>$b z%AGHT+Hb&NG-3zVmFZQ4wO=pjmabBwyQgG!Q;ntL279zIYtP}FRljy<>+Crf#z@GZ zY~bGuWmQ-|?2BSUM#{@23M{iII5j!+&CeKBrh6Su^j_Lsla6;B$`>u%c@k`Rc&PT- zH%aC+da%Ay>**fL_I4Upo$kFe^df-r;Z>a#qSP2_u^9`3&fw6j<=k5n)?J}|h6avb zUZ$4|S(%BU>EQmP5!rsNum94K*?p>D#;B}2Z_N1NSeNy!XRX=a>1;7kTM;WJ=UL!l zvI+O#{ZPC45ZTq?{HqH}s53CeV7wNZc~_|QMZxLbnw}ZPi%C)M?2(F$=}9a-*x56# zSV~l Date: Mon, 25 Nov 2013 10:30:02 +0100 Subject: [PATCH 33/51] fix language and standardize code --- htdocs/compta/paiement/cheque/fiche.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/htdocs/compta/paiement/cheque/fiche.php b/htdocs/compta/paiement/cheque/fiche.php index c860e04ecd6..6c601b20f72 100644 --- a/htdocs/compta/paiement/cheque/fiche.php +++ b/htdocs/compta/paiement/cheque/fiche.php @@ -3,6 +3,7 @@ * Copyright (C) 2007-2011 Laurent Destailleur * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2013 Philippe Grand * * 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 @@ -60,7 +61,6 @@ $offset = $limit * $page ; $dir=$conf->banque->dir_output.'/bordereau/'; $filterdate=dol_mktime(0, 0, 0, GETPOST('fdmonth'), GETPOST('fdday'), GETPOST('fdyear')); $filteraccountid=GETPOST('accountid'); -//var_dump($_POST); $object = new RemiseCheque($db); @@ -80,12 +80,12 @@ if ($action == 'setdate' && $user->rights->banque->cheque) $result=$object->set_date($user,$date); if ($result < 0) { - $mesg='
'.$object->error.'
'; + setEventMessage($object->error, 'errors'); } } else { - $mesg='
'.$object->error.'
'; + setEventMessage($object->error, 'errors'); } } @@ -103,12 +103,12 @@ if ($action == 'setrefext' && $user->rights->banque->cheque) $result=$object->setValueFrom('ref_ext', $ref_ext); if ($result < 0) { - $mesg='
'.$object->error.'
'; + setEventMessage($object->error, 'errors'); } } else { - $mesg='
'.$object->error.'
'; + setEventMessage($object->error, 'errors'); } } @@ -140,12 +140,12 @@ if ($action == 'create' && $_POST["accountid"] > 0 && $user->rights->banque->che } else { - $mesg='
'.$object->error.'
'; + setEventMessage($object->error, 'errors'); } } else { - $mesg=$langs->trans("ErrorSelectAtLeastOne"); + setEventMessage($langs->trans("ErrorSelectAtLeastOne")); $action='new'; } } @@ -161,7 +161,7 @@ if ($action == 'remove' && $id > 0 && $_GET["lineid"] > 0 && $user->rights->banq } else { - $mesg='
'.$object->error.'
'; + setEventMessage($object->error, 'errors'); } } @@ -176,7 +176,7 @@ if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->banque->c } else { - $mesg='
'.$paiement->error.'
'; + setEventMessage($paiement->error, 'errors'); } } @@ -203,7 +203,7 @@ if ($action == 'confirm_valide' && $confirm == 'yes' && $user->rights->banque->c } else { - $mesg='
'.$paiement->error.'
'; + setEventMessage($paiement->error, 'errors'); } } @@ -582,7 +582,7 @@ else $param="&id=".$object->id; print '
'; +print '
'; + +print ""; + +print ""; +print '"; +print ""; +print ""; +print ""; +print '"; +print ""; +print ""; + +print '
'.$langs->trans("Parameter")."".$langs->trans("Value")."
'.$langs->trans("FixTZ").""; +print ''; +print '   '.$langs->trans("FillThisOnlyIfRequired"); +print "
'; + print '
'; print "trans("Save")."\">"; print "
"; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index b10bb5f90a3..2f2b65cb6ac 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -824,7 +824,8 @@ class ActionComm extends CommonObject require_once (DOL_DOCUMENT_ROOT ."/core/lib/xcal.lib.php"); require_once (DOL_DOCUMENT_ROOT ."/core/lib/date.lib.php"); - + require_once (DOL_DOCUMENT_ROOT ."/core/lib/files.lib.php"); + dol_syslog(get_class($this)."::build_exportfile Build export file format=".$format.", type=".$type.", cachedelay=".$cachedelay.", filename=".$filename.", filters size=".count($filters), LOG_DEBUG); // Check parameters @@ -943,8 +944,8 @@ class ActionComm extends CommonObject $event=array(); $event['uid']='dolibarragenda-'.$this->db->database_name.'-'.$obj->id."@".$_SERVER["SERVER_NAME"]; $event['type']=$type; - $datestart=$this->db->jdate($obj->datep); - $dateend=$this->db->jdate($obj->datep2); + $datestart=$this->db->jdate($obj->datep)-(empty($conf->global->AGENDA_EXPORT_FIX_TZ)?0:($conf->global->AGENDA_EXPORT_FIX_TZ*3600)); + $dateend=$this->db->jdate($obj->datep2)-(empty($conf->global->AGENDA_EXPORT_FIX_TZ)?0:($conf->global->AGENDA_EXPORT_FIX_TZ*3600)); $duration=$obj->durationp; $event['summary']=$obj->label.($obj->socname?" (".$obj->socname.")":""); $event['desc']=$obj->note; @@ -963,8 +964,8 @@ class ActionComm extends CommonObject //$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current $url=$urlwithroot.'/comm/action/fiche.php?id='.$obj->id; $event['url']=$url; - $event['created']=$this->db->jdate($obj->datec); - $event['modified']=$this->db->jdate($obj->datem); + $event['created']=$this->db->jdate($obj->datec)-(empty($conf->global->AGENDA_EXPORT_FIX_TZ)?0:($conf->global->AGENDA_EXPORT_FIX_TZ*3600)); + $event['modified']=$this->db->jdate($obj->datem)-(empty($conf->global->AGENDA_EXPORT_FIX_TZ)?0:($conf->global->AGENDA_EXPORT_FIX_TZ*3600)); if ($qualified && $datestart) { @@ -1011,10 +1012,11 @@ class ActionComm extends CommonObject if ($result >= 0) { - if (rename($outputfiletmp,$outputfile)) $result=1; + if (dol_move($outputfiletmp,$outputfile,0,1)) $result=1; else { - dol_syslog(get_class($this)."::build_exportfile failed to rename ".$outputfiletmp." to ".$outputfile, LOG_ERR); + $this->error='Failed to rename '.$outputfiletmp.' into '.$outputfile; + dol_syslog(get_class($this)."::build_exportfile ".$this->error, LOG_ERR); dol_delete_file($outputfiletmp,0,1); $result=-1; } diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index ae1cf90a393..3df77ec722a 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -531,13 +531,24 @@ function dol_move($srcfile, $destfile, $newmask=0, $overwriteifexists=1) $result=false; dol_syslog("files.lib.php::dol_move srcfile=".$srcfile." destfile=".$destfile." newmask=".$newmask." overwritifexists=".$overwriteifexists); - if ($overwriteifexists || ! dol_is_file($destfile)) + $destexists=dol_is_file($destfile); + if ($overwriteifexists || ! $destexists) { $newpathofsrcfile=dol_osencode($srcfile); $newpathofdestfile=dol_osencode($destfile); $result=@rename($newpathofsrcfile, $newpathofdestfile); // To see errors, remove @ - if (! $result) dol_syslog("files.lib.php::dol_move failed", LOG_WARNING); + if (! $result) + { + if ($destexists) + { + dol_syslog("files.lib.php::dol_move failed. We try to delete first and move after.", LOG_WARNING); + // We force delete and try again. Rename function sometimes fails to replace dest file with some windows NTFS partitions. + dol_delete_file($destfile); + $result=@rename($newpathofsrcfile, $newpathofdestfile); // To see errors, remove @ + } + else dol_syslog("files.lib.php::dol_move failed", LOG_WARNING); + } if (empty($newmask) && ! empty($conf->global->MAIN_UMASK)) $newmask=$conf->global->MAIN_UMASK; @chmod($newpathofsrcfile, octdec($newmask)); } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 396bbaf4cb5..a5b23edf0d8 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1008,6 +1008,8 @@ XDebugInstalled=XDebug est chargé. XCacheInstalled=XCache is loaded. AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink FieldEdition=Edition of field %s +FixTZ=TimeZone fix +FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) ##### Module password generation PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: 8 characters containing shared numbers and characters in lowercase. PasswordGenerationNone=Do not suggest any generated password. Password must be type in manually. diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 557c907ed3c..dddabbcfed9 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -1050,6 +1050,8 @@ XDebugInstalled=XDebug est chargé. XCacheInstalled=XCache est chargé. AddRefInList=Afficher le code client/fournisseur dans les liste (déroulante ou autocomplétion) et dans la pluspart des hyperliens FieldEdition=Édition du champ %s +FixTZ=Correction du Timezone +FillThisOnlyIfRequired=Exemple: +2 (ne remplir que si un décalage d'heure est constaté dans l'export) ##### Module password generation PasswordGenerationStandard=Renvoie un mot de passe généré selon l'algorithme interne de Dolibarr : 8 caractères, chiffres et caractères en minuscules mélangés. PasswordGenerationNone=Ne propose pas de mots de passe générés. Le mot de passe est à saisir manuellement. From a3e55822a4173cac18723569edbb48a3e603c1f9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Nov 2013 14:36:13 +0100 Subject: [PATCH 47/51] Missing translation --- htdocs/langs/en_US/admin.lang | 1 + htdocs/langs/fr_FR/admin.lang | 1 + 2 files changed, 2 insertions(+) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index a5b23edf0d8..ee1247b72d1 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -299,6 +299,7 @@ ServerNotAvailableOnIPOrPort=Server is not available at address %s on por DoTestServerAvailability=Test server connectivity DoTestSend=Test sending DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index dddabbcfed9..e4f8da3799f 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -299,6 +299,7 @@ ServerNotAvailableOnIPOrPort=Serveur non disponible à l'adresse %s sur l DoTestServerAvailability=Tester disponibilité serveur DoTestSend=Tester envoi DoTestSendHTML=Tester envoi HTML +ErrorCantUseRazIfNoYearInMask=Erreur, ne peut utiliser l'option @ pour remettre à zéro en début d'année si la séquence {yy} ou {yyyy} n'est pas dans le masque. ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Erreur, ne peut utiliser l'option @ si la séquence {yy}{mm} ou {yyyy}{mm} n'est pas dans le masque. UMask=Masque des nouveaux fichiers sous Unix/Linux/BSD/Mac. UMaskExplanation=Ce paramètre permet de définir les droits des fichiers créés sur le serveur par Dolibarr (lors d'envois par exemple).
Ce doit être la valeur octale (par exemple 0666 signifie lecture/écriture pour tous).
Ce paramètre n'a aucun effet sur un serveur Windows. From 2da88a29660f606aa9a0c73066f3e88b6ff16004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Salvador?= Date: Thu, 28 Nov 2013 09:16:51 +0100 Subject: [PATCH 48/51] made getVATRates synchronous to avoid concurrency problems --- htdocs/core/tpl/objectline_add.tpl.php | 33 ++++++++++++++------------ 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/htdocs/core/tpl/objectline_add.tpl.php b/htdocs/core/tpl/objectline_add.tpl.php index 207351d0596..b0df8e6fe95 100644 --- a/htdocs/core/tpl/objectline_add.tpl.php +++ b/htdocs/core/tpl/objectline_add.tpl.php @@ -242,7 +242,6 @@ $(document).ready(function() { $('#service_duration_area').hide(); $('#idprod').change(function() { - if ($(this).val() > 0) { // Update vat rate combobox @@ -260,11 +259,11 @@ $(document).ready(function() { if (typeof data != 'undefined') { $('#product_ref').val(data.ref); $('#product_label').val(data.label); + $('#origin_tva_tx_cache').val(data.tva_tx); $('#price_base_type').val(data.pricebasetype).trigger('change'); $('#price_ht').val(data.price_ht).trigger('change'); $('#origin_price_ht_cache').val(data.price_ht); //$('#origin_price_ttc_cache').val(data.price_ttc); - $('#origin_tva_tx_cache').val(data.tva_tx); $('#select_type').val(data.type).attr('disabled','disabled').trigger('change'); //$('#price_base_type_area').show(); $('#qty').val(data.qty); @@ -283,9 +282,6 @@ $(document).ready(function() { $('#price_ttc').val(''); - // Restore vat rate combobox - getVATRates('getSellerVATRates', 'tva_tx'); - // For compatibility with combobox global->PRODUIT_USE_SEARCH_TO_SELECT)) { ?> $('#select_type').val('').removeAttr('disabled').trigger('change'); @@ -466,16 +462,23 @@ $(document).ready(function() { function getVATRates(action, htmlname, idprod) { var productid = (idprod?idprod:0); - $.post('/core/ajax/vatrates.php', { - 'action': action, - 'id': id; ?>, - 'productid': productid, - 'htmlname': htmlname }, - function(data) { - if (typeof data != 'undefined' && data.error == null) { - $("#" + htmlname).html(data.value).trigger('change'); - } - }, 'json'); + $.ajax({ + type: "POST", + url: '/core/ajax/vatrates.php', + data: { + 'action': action, + 'id': id; ?>, + 'productid': productid, + 'htmlname': htmlname + }, + success: function(data){ + if (typeof data != 'undefined' && data.error == null) { + $("#" + htmlname).html(data.value).trigger('change'); + } + }, + dataType: "json", + async: false + }); } // Check if decription is not empty for free line From ec3fc4e6e6384a902c562f222528697e5f0092ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Salvador?= Date: Thu, 28 Nov 2013 09:22:19 +0100 Subject: [PATCH 49/51] indentation --- htdocs/core/tpl/objectline_add.tpl.php | 96 +++++++++++++------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/htdocs/core/tpl/objectline_add.tpl.php b/htdocs/core/tpl/objectline_add.tpl.php index b0df8e6fe95..3538017753d 100644 --- a/htdocs/core/tpl/objectline_add.tpl.php +++ b/htdocs/core/tpl/objectline_add.tpl.php @@ -153,9 +153,9 @@ if (! empty($conf->margin->enabled)) { global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT; - $enable=(isset($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0); + $nbrows=ROWS_2; + if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT; + $enable=(isset($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0); $doleditor=new DolEditor('product_desc', GETPOST('product_desc'), '', 150, 'dolibarr_details', '', false, true, $enable, $nbrows, 70); $doleditor->Create(); ?> @@ -278,11 +278,11 @@ $(document).ready(function() { }, 'json'); - } else { + } else { - $('#price_ttc').val(''); + $('#price_ttc').val(''); - // For compatibility with combobox + // For compatibility with combobox global->PRODUIT_USE_SEARCH_TO_SELECT)) { ?> $('#select_type').val('').removeAttr('disabled').trigger('change'); $('#product_ref').val(''); @@ -419,45 +419,45 @@ $(document).ready(function() { }); function update_price(input, output) { - $.ajax({ - type: 'POST', - url: '/core/ajax/price.php', - data: { - 'amount': $('#' + input).val(), - 'output': output, - 'tva_tx': $('#tva_tx').val() - }, - success: function(data) { - var addline=false; - if (typeof data[output] != 'undefined') { - // Hide price_ttc if no vat - //if ($('#tva_tx').val() > 0 || ($('#tva_tx').val() == 0 && output == 'price_ht')) { - $('#' + output).val(data[output]); - //} - if ($('#idprod').val() == 0 && $('#select_type').val() >= 0) { - if (typeof CKEDITOR == 'object' && typeof CKEDITOR.instances != 'undefined' && CKEDITOR.instances['product_desc'] != 'undefined') { - var content = CKEDITOR.instances['product_desc'].getData(); - } else { - var content = $('#product_desc').val(); - } - if (content.length > 0) { - addline=true; - } - } else { - addline=true; - } - } else { - $('#' + input).val(''); - $('#' + output).val(''); - } - if (addline) { - $('#addlinebutton').removeAttr('disabled'); - } else { - $('#addlinebutton').attr('disabled','disabled'); - } - }, - dataType: 'json', - async: false}); + $.ajax({ + type: 'POST', + url: '/core/ajax/price.php', + data: { + 'amount': $('#' + input).val(), + 'output': output, + 'tva_tx': $('#tva_tx').val() + }, + success: function(data) { + var addline=false; + if (typeof data[output] != 'undefined') { + // Hide price_ttc if no vat + //if ($('#tva_tx').val() > 0 || ($('#tva_tx').val() == 0 && output == 'price_ht')) { + $('#' + output).val(data[output]); + //} + if ($('#idprod').val() == 0 && $('#select_type').val() >= 0) { + if (typeof CKEDITOR == 'object' && typeof CKEDITOR.instances != 'undefined' && CKEDITOR.instances['product_desc'] != 'undefined') { + var content = CKEDITOR.instances['product_desc'].getData(); + } else { + var content = $('#product_desc').val(); + } + if (content.length > 0) { + addline=true; + } + } else { + addline=true; + } + } else { + $('#' + input).val(''); + $('#' + output).val(''); + } + if (addline) { + $('#addlinebutton').removeAttr('disabled'); + } else { + $('#addlinebutton').attr('disabled','disabled'); + } + }, + dataType: 'json', + async: false}); } function getVATRates(action, htmlname, idprod) { @@ -527,7 +527,7 @@ $("#idprod").change(function() { $("#fournprice").empty(); $("#buying_price").show(); if ($(this).val() > 0) - { + { $.post('/fourn/ajax/getSupplierPrices.php', {'idprod': $(this).val()}, function(data) { if (data && data.length > 0) { var options = ''; @@ -558,8 +558,8 @@ $("#idprod").change(function() { } }, 'json'); - } else { - $("#fournprice").hide(); + } else { + $("#fournprice").hide(); $('#buying_price').val(''); } }); From d1e62bebf0b542a94d67dd72513b3a4372e731d4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Nov 2013 17:01:37 +0100 Subject: [PATCH 50/51] Fix: Removed a merged that we ddidn't want. --- htdocs/product/admin/product_tools.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/admin/product_tools.php b/htdocs/product/admin/product_tools.php index e3ba408bc16..aafe01bbb01 100644 --- a/htdocs/product/admin/product_tools.php +++ b/htdocs/product/admin/product_tools.php @@ -107,7 +107,7 @@ if ($action == 'convert') $newlevel=$level; //print "$objectstatic->id $newprice, $price_base_type, $newvat, $newminprice, $newlevel, $newnpr
\n"; - $retm=$objectstatic->updatePrice($objectstatic->id, $newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr); + $retm=$objectstatic->updatePrice($newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr); if ($retm < 0) { $error++; @@ -136,7 +136,7 @@ if ($action == 'convert') if (! empty($price_base_type) && ! $updatelevel1) { //print "$objectstatic->id $newprice, $price_base_type, $newvat, $newminprice, $newlevel, $newnpr
\n"; - $ret=$objectstatic->updatePrice($objectstatic->id,$newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr); + $ret=$objectstatic->updatePrice($newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr); } if ($ret < 0 || $retm < 0) $error++; From d0b05bb5af01311d4301d58922ff306475282757 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Nov 2013 18:55:36 +0100 Subject: [PATCH 51/51] Fix: Restore style code lost by a commit. --- htdocs/core/lib/agenda.lib.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php index 727f169582b..8fd4eda6010 100644 --- a/htdocs/core/lib/agenda.lib.php +++ b/htdocs/core/lib/agenda.lib.php @@ -86,7 +86,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh print '
'; print $langs->trans("Type"); @@ -115,13 +115,13 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh // Buttons print ''; - print img_picto ( $langs->trans ( "ViewCal" ), 'object_calendar', 'class="hideonsmartphone"' ) . ' '; + print img_picto($langs->trans("ViewCal"), 'object_calendar', 'class="hideonsmartphone"') . ' '; print '
'; - print img_picto ( $langs->trans ( "ViewWeek" ), 'object_calendarweek', 'class="hideonsmartphone"' ) . ' '; + print img_picto($langs->trans("ViewWeek"), 'object_calendarweek', 'class="hideonsmartphone"') . ' '; print '
'; - print img_picto ( $langs->trans ( "ViewDay" ), 'object_calendarday', 'class="hideonsmartphone"' ) . ' '; + print img_picto($langs->trans("ViewDay"), 'object_calendarday', 'class="hideonsmartphone"') . ' '; print '
'; - print img_picto ( $langs->trans ( "ViewList" ), 'object_list', 'class="hideonsmartphone"' ) . ' '; + print img_picto($langs->trans("ViewList"), 'object_list', 'class="hideonsmartphone"') . ' '; print '
' . $langs->trans ( "LocalAgenda" ) . '
' . $langs->trans("LocalAgenda") . '