Merge remote-tracking branch 'Upstream/develop' into develop-accounting

This commit is contained in:
aspangaro 2014-10-10 05:31:08 +02:00
commit 4f024acc3e
26 changed files with 316 additions and 241 deletions

View File

@ -38,7 +38,7 @@ $type=GETPOST('type');
$action=GETPOST('action'); $action=GETPOST('action');
$confirm=GETPOST('confirm'); $confirm=GETPOST('confirm');
$removeelem = GETPOST('removeelem','int'); $removeelem = GETPOST('removeelem','int');
$elemid=GETPOST('elemid'); $elemid=GETPOST('elemid');
if ($id == "") if ($id == "")
{ {
@ -121,32 +121,32 @@ if ($user->rights->categorie->supprimer && $action == 'confirm_delete' && $confi
} }
} }
if ($type==0 && $elemid && $action == 'addintocategory' && ($user->rights->produit->creer || $user->rights->service->creer)) if ($type==0 && $elemid && $action == 'addintocategory' && ($user->rights->produit->creer || $user->rights->service->creer))
{ {
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
$newobject = new Product($db); $newobject = new Product($db);
$result = $newobject->fetch($elemid); $result = $newobject->fetch($elemid);
$elementtype = 'product'; $elementtype = 'product';
// TODO Add into categ // TODO Add into categ
$result=$object->add_type($newobject,$elementtype); $result=$object->add_type($newobject,$elementtype);
if ($result >= 0) if ($result >= 0)
{ {
setEventMessage($langs->trans("WasAddedSuccessfully",$newobject->ref)); setEventMessage($langs->trans("WasAddedSuccessfully",$newobject->ref));
} }
else else
{ {
if ($cat->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') if ($cat->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
{ {
setEventMessage($langs->trans("ObjectAlreadyLinkedToCategory"),'warnings'); setEventMessage($langs->trans("ObjectAlreadyLinkedToCategory"),'warnings');
} }
else else
{ {
setEventMessages($object->error,$object->errors,'errors'); setEventMessages($object->error,$object->errors,'errors');
} }
} }
} }
@ -292,26 +292,26 @@ if ($object->type == 0)
{ {
$showclassifyform=1; $typeid=0; $showclassifyform=1; $typeid=0;
// Form to add record into a category // Form to add record into a category
if ($showclassifyform) if ($showclassifyform)
{ {
print '<br>'; print '<br>';
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">'; print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="typeid" value="'.$typeid.'">'; print '<input type="hidden" name="typeid" value="'.$typeid.'">';
print '<input type="hidden" name="type" value="'.$typeid.'">'; print '<input type="hidden" name="type" value="'.$typeid.'">';
print '<input type="hidden" name="id" value="'.$object->id.'">'; print '<input type="hidden" name="id" value="'.$object->id.'">';
print '<input type="hidden" name="action" value="addintocategory">'; print '<input type="hidden" name="action" value="addintocategory">';
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td width="40%">'; print '<tr class="liste_titre"><td width="40%">';
print $langs->trans("AddProductServiceIntoCategory").' &nbsp;'; print $langs->trans("AddProductServiceIntoCategory").' &nbsp;';
print $form->select_produits('','elemid','',0,0,-1,2,'',1); print $form->select_produits('','elemid','',0,0,-1,2,'',1);
print '</td><td>'; print '</td><td>';
print '<input type="submit" class="button" value="'.$langs->trans("ClassifyInCategory").'"></td>'; print '<input type="submit" class="button" value="'.$langs->trans("ClassifyInCategory").'"></td>';
print '</tr>'; print '</tr>';
print '</table>'; print '</table>';
print '</form>'; print '</form>';
} }
print "<br>"; print "<br>";
print "<table class='noborder' width='100%'>\n"; print "<table class='noborder' width='100%'>\n";

View File

@ -1248,46 +1248,48 @@ if ($id > 0)
print '</div>'; print '</div>';
if ($action != 'edit')
// Link to agenda views {
print '<div id="agendaviewbutton">'; // Link to agenda views
print '<form name="listactionsfiltermonth" action="'.DOL_URL_ROOT.'/comm/action/index.php" method="POST" style="float: left; padding-right: 10px;">'; print '<div id="agendaviewbutton">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<form name="listactionsfiltermonth" action="'.DOL_URL_ROOT.'/comm/action/index.php" method="POST" style="float: left; padding-right: 10px;">';
print '<input type="hidden" name="action" value="show_month">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="year" value="'.dol_print_date($object->datep,'%Y').'">'; print '<input type="hidden" name="action" value="show_month">';
print '<input type="hidden" name="month" value="'.dol_print_date($object->datep,'%m').'">'; print '<input type="hidden" name="year" value="'.dol_print_date($object->datep,'%Y').'">';
print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">'; print '<input type="hidden" name="month" value="'.dol_print_date($object->datep,'%m').'">';
//print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">'; print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">';
print img_picto($langs->trans("ViewCal"),'object_calendar','class="hideonsmartphone"').' <input type="submit" style="min-width: 120px" class="button" name="viewcal" value="'.$langs->trans("ViewCal").'">'; //print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">';
print '</form>'."\n"; print img_picto($langs->trans("ViewCal"),'object_calendar','class="hideonsmartphone"').' <input type="submit" style="min-width: 120px" class="button" name="viewcal" value="'.$langs->trans("ViewCal").'">';
print '<form name="listactionsfilterweek" action="'.DOL_URL_ROOT.'/comm/action/index.php" method="POST" style="float: left; padding-right: 10px;">'; print '</form>'."\n";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<form name="listactionsfilterweek" action="'.DOL_URL_ROOT.'/comm/action/index.php" method="POST" style="float: left; padding-right: 10px;">';
print '<input type="hidden" name="action" value="show_week">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="year" value="'.dol_print_date($object->datep,'%Y').'">'; print '<input type="hidden" name="action" value="show_week">';
print '<input type="hidden" name="month" value="'.dol_print_date($object->datep,'%m').'">'; print '<input type="hidden" name="year" value="'.dol_print_date($object->datep,'%Y').'">';
print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">'; print '<input type="hidden" name="month" value="'.dol_print_date($object->datep,'%m').'">';
//print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">'; print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">';
print img_picto($langs->trans("ViewCal"),'object_calendarweek','class="hideonsmartphone"').' <input type="submit" style="min-width: 120px" class="button" name="viewweek" value="'.$langs->trans("ViewWeek").'">'; //print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">';
print '</form>'."\n"; print img_picto($langs->trans("ViewCal"),'object_calendarweek','class="hideonsmartphone"').' <input type="submit" style="min-width: 120px" class="button" name="viewweek" value="'.$langs->trans("ViewWeek").'">';
print '<form name="listactionsfilterday" action="'.DOL_URL_ROOT.'/comm/action/index.php" method="POST" style="float: left; padding-right: 10px;">'; print '</form>'."\n";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<form name="listactionsfilterday" action="'.DOL_URL_ROOT.'/comm/action/index.php" method="POST" style="float: left; padding-right: 10px;">';
print '<input type="hidden" name="action" value="show_day">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="year" value="'.dol_print_date($object->datep,'%Y').'">'; print '<input type="hidden" name="action" value="show_day">';
print '<input type="hidden" name="month" value="'.dol_print_date($object->datep,'%m').'">'; print '<input type="hidden" name="year" value="'.dol_print_date($object->datep,'%Y').'">';
print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">'; print '<input type="hidden" name="month" value="'.dol_print_date($object->datep,'%m').'">';
//print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">'; print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">';
print img_picto($langs->trans("ViewCal"),'object_calendarday','class="hideonsmartphone"').' <input type="submit" style="min-width: 120px" class="button" name="viewday" value="'.$langs->trans("ViewDay").'">'; //print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">';
print '</form>'."\n"; print img_picto($langs->trans("ViewCal"),'object_calendarday','class="hideonsmartphone"').' <input type="submit" style="min-width: 120px" class="button" name="viewday" value="'.$langs->trans("ViewDay").'">';
print '<form name="listactionsfilterperuser" action="'.DOL_URL_ROOT.'/comm/action/peruser.php" method="POST" style="float: left; padding-right: 10px;">'; print '</form>'."\n";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<form name="listactionsfilterperuser" action="'.DOL_URL_ROOT.'/comm/action/peruser.php" method="POST" style="float: left; padding-right: 10px;">';
print '<input type="hidden" name="action" value="show_peruser">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="year" value="'.dol_print_date($object->datep,'%Y').'">'; print '<input type="hidden" name="action" value="show_peruser">';
print '<input type="hidden" name="month" value="'.dol_print_date($object->datep,'%m').'">'; print '<input type="hidden" name="year" value="'.dol_print_date($object->datep,'%Y').'">';
print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">'; print '<input type="hidden" name="month" value="'.dol_print_date($object->datep,'%m').'">';
//print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">'; print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">';
print img_picto($langs->trans("ViewCal"),'object_calendarperuser','class="hideonsmartphone"').' <input type="submit" style="min-width: 120px" class="button" name="viewperuser" value="'.$langs->trans("ViewPerUser").'">'; //print '<input type="hidden" name="day" value="'.dol_print_date($object->datep,'%d').'">';
print '</form>'."\n"; print img_picto($langs->trans("ViewCal"),'object_calendarperuser','class="hideonsmartphone"').' <input type="submit" style="min-width: 120px" class="button" name="viewperuser" value="'.$langs->trans("ViewPerUser").'">';
print '</div>'; print '</form>'."\n";
print '</div>';
}
} }

View File

@ -419,7 +419,7 @@ class ActionComm extends CommonObject
while ($obj = $this->db->fetch_object($resql2)) while ($obj = $this->db->fetch_object($resql2))
{ {
$this->userassigned[$obj->fk_element]=array('id'=>$obj->fk_element, 'mandatory'=>$obj->mandatory, 'answer_status'=>$obj->answer_status, 'transparency'=>$obj->transparency); if ($obj->fk_element > 0) $this->userassigned[$obj->fk_element]=array('id'=>$obj->fk_element, 'mandatory'=>$obj->mandatory, 'answer_status'=>$obj->answer_status, 'transparency'=>$obj->transparency);
if (empty($this->userownerid)) $this->userownerid=$obj->fk_element; // If not defined (should not happened, we fix this) if (empty($this->userownerid)) $this->userownerid=$obj->fk_element; // If not defined (should not happened, we fix this)
} }

View File

@ -46,6 +46,11 @@ $filterd = GETPOST("userdone","int",3)?GETPOST("userdone","int",3):GETPOST("filt
$usergroup = GETPOST("usergroup","int",3); $usergroup = GETPOST("usergroup","int",3);
$showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1; $showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1;
// If not choice done on calendar owner, we filter on user.
if (empty($filtert) && empty($conf->global->AGENDA_ALL_CALENDARS))
{
$filtert=$user->id;
}
$sortfield = GETPOST("sortfield",'alpha'); $sortfield = GETPOST("sortfield",'alpha');
$sortorder = GETPOST("sortorder",'alpha'); $sortorder = GETPOST("sortorder",'alpha');

View File

@ -56,6 +56,12 @@ $filterd = GETPOST("userdone","int",3)?GETPOST("userdone","int",3):GETPOST("filt
$usergroup = GETPOST("usergroup","int",3); $usergroup = GETPOST("usergroup","int",3);
$showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1; $showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1;
// If not choice done on calendar owner, we filter on user.
if (empty($filtert) && empty($conf->global->AGENDA_ALL_CALENDARS))
{
$filtert=$user->id;
}
$sortfield = GETPOST("sortfield",'alpha'); $sortfield = GETPOST("sortfield",'alpha');
$sortorder = GETPOST("sortorder",'alpha'); $sortorder = GETPOST("sortorder",'alpha');
$page = GETPOST("page",'int'); $page = GETPOST("page",'int');
@ -98,6 +104,7 @@ $hookmanager->initHooks(array('agendalist'));
/* /*
* Actions * Actions
*/ */
if (GETPOST("viewcal") || GETPOST("viewweek") || GETPOST("viewday")) if (GETPOST("viewcal") || GETPOST("viewweek") || GETPOST("viewday"))
{ {
$param=''; $param='';
@ -144,7 +151,7 @@ $sql.= " a.fk_contact, a.note, a.label, a.percent as percent,";
$sql.= " c.code as acode, c.libelle,"; $sql.= " c.code as acode, c.libelle,";
$sql.= " ua.login as loginauthor, ua.rowid as useridauthor,"; $sql.= " ua.login as loginauthor, ua.rowid as useridauthor,";
$sql.= " ut.login as logintodo, ut.rowid as useridtodo,"; $sql.= " ut.login as logintodo, ut.rowid as useridtodo,";
$sql.= " ud.login as logindone, ud.rowid as useriddone,"; //$sql.= " ud.login as logindone, ud.rowid as useriddone,";
$sql.= " sp.lastname, sp.firstname"; $sql.= " sp.lastname, sp.firstname";
$sql.= " FROM ".MAIN_DB_PREFIX."c_actioncomm as c,"; $sql.= " FROM ".MAIN_DB_PREFIX."c_actioncomm as c,";
$sql.= " ".MAIN_DB_PREFIX.'user as u,'; $sql.= " ".MAIN_DB_PREFIX.'user as u,';
@ -154,7 +161,7 @@ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON a.fk_soc = s.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople as sp ON a.fk_contact = sp.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople as sp ON a.fk_contact = sp.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ua ON a.fk_user_author = ua.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ua ON a.fk_user_author = ua.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ut ON a.fk_user_action = ut.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ut ON a.fk_user_action = ut.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ud ON a.fk_user_done = ud.rowid"; //$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ud ON a.fk_user_done = ud.rowid";
if ($usergroup > 0) $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ugu"; if ($usergroup > 0) $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ugu";
$sql.= " WHERE c.id = a.fk_action"; $sql.= " WHERE c.id = a.fk_action";
$sql.= ' AND a.fk_user_author = u.rowid'; $sql.= ' AND a.fk_user_author = u.rowid';
@ -244,7 +251,7 @@ if ($resql)
print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Contact"),$_SERVER["PHP_SELF"],"a.fk_contact",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Contact"),$_SERVER["PHP_SELF"],"a.fk_contact",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("ActionUserAsk"),$_SERVER["PHP_SELF"],"ua.login",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ActionUserAsk"),$_SERVER["PHP_SELF"],"ua.login",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("AffectedTo"),$_SERVER["PHP_SELF"],"ut.login",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ActionsOwnedBy"),$_SERVER["PHP_SELF"],"ut.login",$param,"","",$sortfield,$sortorder);
//print_liste_field_titre($langs->trans("DoneBy"),$_SERVER["PHP_SELF"],"ud.login",$param,"","",$sortfield,$sortorder); //print_liste_field_titre($langs->trans("DoneBy"),$_SERVER["PHP_SELF"],"ud.login",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"a.percent",$param,"",'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"a.percent",$param,"",'align="right"',$sortfield,$sortorder);
print "</tr>\n"; print "</tr>\n";

View File

@ -47,6 +47,11 @@ $usergroup = GETPOST("usergroup","int",3);
//$showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1; //$showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1;
$showbirthday = 0; $showbirthday = 0;
// If not choice done on calendar owner, we filter on user.
if (empty($filtert) && empty($conf->global->AGENDA_ALL_CALENDARS))
{
$filtert=$user->id;
}
$sortfield = GETPOST("sortfield",'alpha'); $sortfield = GETPOST("sortfield",'alpha');
$sortorder = GETPOST("sortorder",'alpha'); $sortorder = GETPOST("sortorder",'alpha');
@ -557,30 +562,32 @@ while ($i < 7)
} }
echo "</tr>\n"; echo "</tr>\n";
// Define $usernames // Define $usernames
$usernames = array(); //init $usernames = array(); //init
/* Use this to have list of users only if users have events $usernamesid = array();
/* Use this to have list of users only if users have events */
foreach ($eventarray as $daykey => $notused) foreach ($eventarray as $daykey => $notused)
{ {
$annee = date('Y',$daykey); // Get all assigned users for each event
$mois = date('m',$daykey); foreach ($eventarray[$daykey] as $index => $event)
$jour = date('d',$daykey); {
//if ($day==$jour && $month==$mois && $year==$annee) $event->fetch_userassigned();
//{ $listofuserid=$event->userassigned;
//Tout les events à la même date : foreach($listofuserid as $userid => $tmp)
foreach ($eventarray[$daykey] as $index => $event) {
{ if (! in_array($userid, $usernamesid)) $usernamesid[$userid] = $userid;
$myuser = new User($db); }
$user_id = $event->usertodo->id; }
$myuser->fetch($user_id); }
$username = $myuser->getFullName($langs); foreach($usernamesid as $id)
if (! in_array($username, $usernames)) {
{ $tmpuser=new User($db);
$usernames[] = $username; $result=$tmpuser->fetch($id);
} $usernames[]=$tmpuser;
} }
//}
}*/ /*
if ($filtert > 0) if ($filtert > 0)
{ {
$tmpuser = new User($db); $tmpuser = new User($db);
@ -598,7 +605,7 @@ else
$tmpgroup = new UserGroup($db); $tmpgroup = new UserGroup($db);
//$tmpgroup->fetch($usergroup); No fetch, we want all users for all groups //$tmpgroup->fetch($usergroup); No fetch, we want all users for all groups
$usernames = $tmpgroup->listUsersForGroup(); $usernames = $tmpgroup->listUsersForGroup();
} }*/
// Load array of colors by type // Load array of colors by type
$colorsbytype=array(); $colorsbytype=array();

View File

@ -74,7 +74,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
//print ' &nbsp;</td><td class="nowrap maxwidthonsmartphone">'; //print ' &nbsp;</td><td class="nowrap maxwidthonsmartphone">';
//print $form->select_dolusers($filtera, 'userasked', 1, '', ! $canedit); //print $form->select_dolusers($filtera, 'userasked', 1, '', ! $canedit);
//print ' &nbsp; '.$langs->trans("or") . ' '; //print ' &nbsp; '.$langs->trans("or") . ' ';
print $langs->trans("ActionAffectedTo").' &nbsp; '; print $langs->trans("ActionsOwnedBy").' &nbsp; ';
print '</td><td class="nowrap maxwidthonsmartphone">'; print '</td><td class="nowrap maxwidthonsmartphone">';
//print $langs->trans("User"); //print $langs->trans("User");
print $form->select_dolusers($filtert, 'usertodo', 1, '', ! $canedit); print $form->select_dolusers($filtert, 'usertodo', 1, '', ! $canedit);

View File

@ -19,7 +19,7 @@
body { body {
font-size:13px; font-size:13px;
font-family: Verdana, Arial, Helvetica, Tahoma, sans-serif; font-family: Verdana, Arial, Helvetica, Tahoma, sans-serif;
background: #f6f6f6; background: #f0f0f0;
margin: 15px 30px 10px; margin: 15px 30px 10px;
} }
@ -35,7 +35,7 @@ background: #FFFFFF;
color: #444; color: #444;
border: 1px solid #999; border: 1px solid #999;
padding: 5px 5px 5px 5px; padding: 5px 5px 5px 5px;
margin: 0 0 0 0; margin: 0 0 0 20px;
} }
div.soustitre { div.soustitre {
@ -57,6 +57,39 @@ padding: 0 0 0 0;
margin: 0 0 0 0; margin: 0 0 0 0;
} }
input[type=submit] {
border-color: #c5c5c5;
border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
display: inline-block;
padding: 4px 14px;
margin-bottom: 0;
text-align: center;
cursor: pointer;
color: #333333;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
background-color: #f5f5f5;
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
border: 1px solid #bbbbbb;
border-bottom-color: #a2a2a2;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
input:focus, textarea:focus, button:focus, select:focus {
box-shadow: 0 0 4px #8091BF;
}
input[type=text], input[type=password] { input[type=text], input[type=password] {
border: 1px solid #ACBCBB; border: 1px solid #ACBCBB;
} }
@ -70,13 +103,21 @@ input:-webkit-autofill {
} }
table.main { table.main {
background: #FfFfFf; margin-left: 10px;
text-align: left; margin-right: 10px;
border: 1px solid #999; padding-left: 6px;
color: #000000; padding-right: 6px;
-webkit-box-shadow: 3px 3px 4px #DDD !important; padding-top: 12px;
-moz-box-shadow: 3px 3px 4px #DDD !important; padding-bottom: 12px;
box-shadow: 3px 3px 4px #DDD !important; border: 1px solid #A0A0A0;
border-radius: 8px;
border: solid 1px rgba(90,90,90,.4);
-moz-box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15);
-webkit-box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15);
box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15);
background-color: #FFFFFF;
background: -webkit-gradient(linear, center top, center bottom, color-stop(0%, #fff), color-stop(100%, #f8f8f8));
background: -moz-linear-gradient(top, #fff, #f8f8f8);
} }
table.main-inside { table.main-inside {

View File

@ -214,7 +214,9 @@ if (! $error)
{ {
print '<div class="error">'.$db->error.'</div>'; print '<div class="error">'.$db->error.'</div>';
if (! $db->connected) print $langs->trans("BecauseConnectionFailedParametersMayBeWrong").'<br><br>'; if (! $db->connected) print $langs->trans("BecauseConnectionFailedParametersMayBeWrong").'<br><br>';
//print '<a href="#" onClick="javascript: history.back();">';
print $langs->trans("ErrorGoBackAndCorrectParameters"); print $langs->trans("ErrorGoBackAndCorrectParameters");
//print '</a>';
$error++; $error++;
} }
} }
@ -223,7 +225,9 @@ if (! $error)
{ {
print "<br>\nFailed to include_once(\"".$main_dir."/core/db/".$db_type.".class.php\")<br>\n"; print "<br>\nFailed to include_once(\"".$main_dir."/core/db/".$db_type.".class.php\")<br>\n";
print '<div class="error">'.$langs->trans("ErrorWrongValueForParameter",$langs->transnoentities("WebPagesDirectory")).'</div>'; print '<div class="error">'.$langs->trans("ErrorWrongValueForParameter",$langs->transnoentities("WebPagesDirectory")).'</div>';
//print '<a href="#" onClick="javascript: history.back();">';
print $langs->trans("ErrorGoBackAndCorrectParameters"); print $langs->trans("ErrorGoBackAndCorrectParameters");
//print '</a>';
$error++; $error++;
} }
} }

View File

@ -1011,6 +1011,7 @@ create table llx_c_email_templates
entity integer DEFAULT 1 NOT NULL, -- multi company id entity integer DEFAULT 1 NOT NULL, -- multi company id
module varchar(32), -- Nom du module en rapport avec le modele module varchar(32), -- Nom du module en rapport avec le modele
type_template varchar(32), -- template for which type of email (send invoice by email, send order, ...) type_template varchar(32), -- template for which type of email (send invoice by email, send order, ...)
lang varchar(32),
private smallint DEFAULT 0 NOT NULL, -- Template public or private private smallint DEFAULT 0 NOT NULL, -- Template public or private
fk_user integer, -- Id utilisateur si modele prive, sinon null fk_user integer, -- Id utilisateur si modele prive, sinon null
datec datetime, datec datetime,

View File

@ -23,6 +23,7 @@ create table llx_c_email_template
entity integer DEFAULT 1 NOT NULL, -- multi company id entity integer DEFAULT 1 NOT NULL, -- multi company id
module varchar(32), -- Nom du module en rapport avec le modele module varchar(32), -- Nom du module en rapport avec le modele
type_template varchar(32), -- template for which type of email (send invoice by email, send order, ...) type_template varchar(32), -- template for which type of email (send invoice by email, send order, ...)
lang varchar(6),
private smallint DEFAULT 0 NOT NULL, -- Template public or private private smallint DEFAULT 0 NOT NULL, -- Template public or private
fk_user integer, -- Id utilisateur si modele prive, sinon null fk_user integer, -- Id utilisateur si modele prive, sinon null
datec datetime, datec datetime,

View File

@ -7,6 +7,7 @@ Agendas=Agendas
Calendar=Calendar Calendar=Calendar
Calendars=Calendars Calendars=Calendars
LocalAgenda=Internal calendar LocalAgenda=Internal calendar
ActionsOwnedBy=Event owned by
AffectedTo=Assigned to AffectedTo=Assigned to
DoneBy=Done by DoneBy=Done by
Event=Event Event=Event

View File

@ -2,7 +2,7 @@
CHARSET=UTF-8 CHARSET=UTF-8
Accounting=Comptabilité Accounting=Comptabilité
Globalparameters=Paramètres globals Globalparameters=Paramètres globaux
Chartofaccounts=Plan comptable Chartofaccounts=Plan comptable
Fiscalyear=Années fiscales Fiscalyear=Années fiscales
Menuaccount=Comptes comptables Menuaccount=Comptes comptables
@ -17,8 +17,8 @@ Modelcsv=Modèle d'export
Selectmodelcsv=Sélectionner un modèle d'export Selectmodelcsv=Sélectionner un modèle d'export
Modelcsv_normal=Export standard Modelcsv_normal=Export standard
Modelcsv_CEGID=Export vers CEGID Expert Modelcsv_CEGID=Export vers CEGID Expert
BackToChartofaccounts=Return chart of accounts BackToChartofaccounts=Retour au plan comptable
Back=Return Back=Retour
Definechartofaccounts=Définir un plan comptable Definechartofaccounts=Définir un plan comptable
Selectchartofaccounts=Sélectionner un plan comptable Selectchartofaccounts=Sélectionner un plan comptable
@ -66,31 +66,31 @@ Lineofinvoice=Line of invoice
VentilatedinAccount=Ventilated successfully in the accounting account VentilatedinAccount=Ventilated successfully in the accounting account
NotVentilatedinAccount=Not ventilated in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account
ACCOUNTINGEX_SEPARATORCSV=Séparateur de champ ACCOUNTING_SEPARATORCSV=Separator CSV
ACCOUNTINGEX_LIMIT_LIST_VENTILATION=Number of elements to be ventilated shown by page (maximum recommended : 50) ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be ventilated shown by page (maximum recommended : 50)
ACCOUNTINGEX_LIST_SORT_VENTILATION_TODO=Begin the sorting of the pages of ventilation "Has to ventilate" by the most recent elements ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the pages of ventilation "Has to ventilate" by the most recent elements
ACCOUNTINGEX_LIST_SORT_VENTILATION_DONE=Begin the sorting of the pages of ventilation "Ventilated" by the most recent elements ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the pages of ventilation "Ventilated" by the most recent elements
AccountLength=Length of the accounting accounts shown in Dolibarr AccountLength=Length of the accounting accounts shown in Dolibarr
AccountLengthDesc=Function allowing to feign a length of accounting account by replacing spaces by the zero figure. This function touches only the display, it does not modify the accounting accounts registered in Dolibarr. For the export, this function is necessary to be compatible with certain software. AccountLengthDesc=Function allowing to feign a length of accounting account by replacing spaces by the zero figure. This function touches only the display, it does not modify the accounting accounts registered in Dolibarr. For the export, this function is necessary to be compatible with certain software.
ACCOUNTINGEX_LENGTH_GACCOUNT=Length of the general accounts ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounts
ACCOUNTINGEX_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts
ACCOUNTINGEX_SELL_JOURNAL=Journal des ventes ACCOUNTING_SELL_JOURNAL=Sell journal
ACCOUNTINGEX_PURCHASE_JOURNAL=Journal des achats ACCOUNTING_PURCHASE_JOURNAL=Purchase journal
ACCOUNTINGEX_BANK_JOURNAL=Journal de banque ACCOUNTING_BANK_JOURNAL=Bank journal
ACCOUNTINGEX_CASH_JOURNAL=Journal de compte caisse ACCOUNTING_CASH_JOURNAL=Cash journal
ACCOUNTINGEX_MISCELLANEOUS_JOURNAL=Journal divers ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal
ACCOUNTINGEX_SOCIAL_JOURNAL=Social journal ACCOUNTING_SOCIAL_JOURNAL=Social journal
ACCOUNTINGEX_ACCOUNT_TRANSFER_CASH=Compte de transfert ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer
ACCOUNTINGEX_ACCOUNT_SUSPENSE=Compte d'attente ACCOUNTING_ACCOUNT_SUSPENSE=Account of wait
COMPTA_PRODUCT_BUY_ACCOUNT=Accounting account by default for bought products (if not defined in the product sheet) ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for bought products (if not defined in the product sheet)
COMPTA_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (if not defined in the product sheet) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (if not defined in the product sheet)
COMPTA_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (if not defined in the service sheet) ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (if not defined in the service sheet)
COMPTA_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (if not defined in the service sheet) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (if not defined in the service sheet)
Doctype=Type de documents Doctype=Type de documents
Docdate=Date Docdate=Date

View File

@ -219,6 +219,7 @@ AutomaticIfJavascriptDisabled=Automatique si Javascript est désactivé
AvailableOnlyIfJavascriptNotDisabled=Disponible uniquement si Javascript activé AvailableOnlyIfJavascriptNotDisabled=Disponible uniquement si Javascript activé
AvailableOnlyIfJavascriptAndAjaxNotDisabled=Disponible uniquement si Javascript activé AvailableOnlyIfJavascriptAndAjaxNotDisabled=Disponible uniquement si Javascript activé
Required=Requis Required=Requis
UsedOnlyWithTypeOption=Used by some agenda option only
Security=Sécurité Security=Sécurité
Passwords=Mots de passe Passwords=Mots de passe
DoNotStoreClearPassword=Ne pas stocker de mots de passe en clair dans la base (Activation recommandée) DoNotStoreClearPassword=Ne pas stocker de mots de passe en clair dans la base (Activation recommandée)
@ -584,9 +585,6 @@ Permission92=Créer/modifier les charges et la TVA
Permission93=Supprimer les charges et la TVA Permission93=Supprimer les charges et la TVA
Permission94=Exporter les charges Permission94=Exporter les charges
Permission95=Consulter CA, bilans et résultats Permission95=Consulter CA, bilans et résultats
Permission96=Paramétrer la ventilation
Permission97=Lire les lignes de factures
Permission98=Ventiler les lignes de factures
Permission101=Consulter les expéditions Permission101=Consulter les expéditions
Permission102=Créer/modifier les expéditions Permission102=Créer/modifier les expéditions
Permission104=Valider les expéditions Permission104=Valider les expéditions

View File

@ -7,6 +7,7 @@ Agendas=Agendas
Calendar=Calendrier Calendar=Calendrier
Calendars=Calendriers Calendars=Calendriers
LocalAgenda=Calendrier interne LocalAgenda=Calendrier interne
ActionsOwnedBy=Propriétaire de l'événement
AffectedTo=Affecté à AffectedTo=Affecté à
DoneBy=Réalisé par DoneBy=Réalisé par
Event=Evénement Event=Evénement
@ -89,3 +90,4 @@ ExtSiteNoLabel=Aucune description
WorkingTimeRange=Plage d'heures travaillées WorkingTimeRange=Plage d'heures travaillées
WorkingDaysRange=Plage de jours travaillés WorkingDaysRange=Plage de jours travaillés
AddEvent=Créer événement AddEvent=Créer événement
MyAvailability=Ma disponibilité

View File

@ -110,4 +110,5 @@ ConfirmDeletePicture=Etes-vous sur de vouloir supprimer cette image ?
ExtraFieldsCategories=Attributs supplémentaires ExtraFieldsCategories=Attributs supplémentaires
CategoriesSetup=Configuration du module catégories CategoriesSetup=Configuration du module catégories
CategorieRecursiv=Lier avec les catégories parentes CategorieRecursiv=Lier avec les catégories parentes
CategorieRecursivHelp=Si activer, quand un élément est ajouté dans une catégorie, ajouter aussi l'élément dans toutes les catégories parentes CategorieRecursivHelp=Si activé : quand un élément est ajouté dans une catégorie, l'ajouter aussi dans toutes les catégories parentes
AddProductServiceIntoCategory=Add the following product/service

View File

@ -397,7 +397,7 @@ YouMustCreateContactFirst=Vous devez créer des contacts avec emails sur le tier
ListSuppliersShort=Liste fournisseurs ListSuppliersShort=Liste fournisseurs
ListProspectsShort=Liste prospects ListProspectsShort=Liste prospects
ListCustomersShort=Liste clients ListCustomersShort=Liste clients
ThirdPartiesArea=Espace Tiers ThirdPartiesArea=Third parties and contact area
LastModifiedThirdParties=Les %s derniers tiers modifiés LastModifiedThirdParties=Les %s derniers tiers modifiés
UniqueThirdParties=Total de tiers uniques UniqueThirdParties=Total de tiers uniques
InActivity=En activité InActivity=En activité
@ -410,3 +410,5 @@ OutstandingBillReached=Montant max. endetté
MonkeyNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn pour les codes clients et %syymm-nnnn pour les codes fournisseurs où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0. MonkeyNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn pour les codes clients et %syymm-nnnn pour les codes fournisseurs où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0.
LeopardNumRefModelDesc=Code libre sans vérification. Peut être modifié à tout moment. LeopardNumRefModelDesc=Code libre sans vérification. Peut être modifié à tout moment.
ManagingDirectors=Nom du(des) gestionnaire(s) (PDG, directeur, président...) ManagingDirectors=Nom du(des) gestionnaire(s) (PDG, directeur, président...)
SearchThirdparty=Search thirdparty
SearchContact=Search contact

View File

@ -164,6 +164,9 @@ NotUsedForGoods=Non utilisé pour les biens
ProposalStats=Statistiques sur les propales ProposalStats=Statistiques sur les propales
OrderStats=Statistiques sur les commandes OrderStats=Statistiques sur les commandes
InvoiceStats=Statistiques sur les factures InvoiceStats=Statistiques sur les factures
Dispatch=Ventilation
Dispatched=Ventilés
ToDispatch=A ventiler
ThirdPartyMustBeEditAsCustomer=Le tiers doit être défini comme client ThirdPartyMustBeEditAsCustomer=Le tiers doit être défini comme client
SellsJournal=Journal des ventes SellsJournal=Journal des ventes
PurchasesJournal=Journal des achats PurchasesJournal=Journal des achats
@ -184,7 +187,7 @@ AccountancyDashboard=Synthèse compta/tréso
ByProductsAndServices=Par produits et services ByProductsAndServices=Par produits et services
RefExt=Référence externe RefExt=Référence externe
ToCreateAPredefinedInvoice=Pour créer une facture prédéfinie, créer une facture standard puis sans la valider, cliquer sur le bouton "Convertir en facture prédéfine". ToCreateAPredefinedInvoice=Pour créer une facture prédéfinie, créer une facture standard puis sans la valider, cliquer sur le bouton "Convertir en facture prédéfine".
LinkedOrder=Lier à une commande LinkedOrder=Link to order
ReCalculate=Recalculer ReCalculate=Recalculer
Mode1=Mode 1 Mode1=Mode 1
Mode2=Mode 2 Mode2=Mode 2
@ -193,11 +196,14 @@ CalculationRuleDescSupplier=Selon le mode utilisé par le fournisseur, choisisse
TurnoverPerProductInCommitmentAccountingNotRelevant=Le chiffre d'affaire par produit, dans une comptabilité en mode <b>comptabilité de caisse</b> n'est pas définissable. Ce rapport n'est disponible qu'en mode de comptabilité dit <b>comptabilité d'engagement</b> (voir la configuration du module de comptabilité). TurnoverPerProductInCommitmentAccountingNotRelevant=Le chiffre d'affaire par produit, dans une comptabilité en mode <b>comptabilité de caisse</b> n'est pas définissable. Ce rapport n'est disponible qu'en mode de comptabilité dit <b>comptabilité d'engagement</b> (voir la configuration du module de comptabilité).
CalculationMode=Mode de calcul CalculationMode=Mode de calcul
AccountancyJournal=Code journal comptabilité AccountancyJournal=Code journal comptabilité
ACCOUNTING_PRODUCT_BUY_ACCOUNT=Code comptable par défaut pour l'achat de produits ACCOUNTING_PRODUCT_BUY_ACCOUNT=Default accountancy code to buy products
ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Code comptable par défaut pour la vente de produits ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Default accountancy code to sell products
ACCOUNTING_SERVICE_BUY_ACCOUNT=Code comptable par défaut pour l'achat de services ACCOUNTING_SERVICE_BUY_ACCOUNT=Default accountancy code to buy services
ACCOUNTING_SERVICE_SOLD_ACCOUNT=Code comptable par défaut pour la vente de services ACCOUNTING_SERVICE_SOLD_ACCOUNT=Default accountancy code to sell services
ACCOUNTING_VAT_ACCOUNT=Code comptable par défaut pour l'encaissement de TVA ACCOUNTING_VAT_ACCOUNT=Default accountancy code for collecting VAT
ACCOUNTING_VAT_BUY_ACCOUNT=Code comptable par défaut pour le versement de la TVA ACCOUNTING_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT
ACCOUNTING_ACCOUNT_CUSTOMER=Code comptable par défaut des tiers clients ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties
ACCOUNTING_ACCOUNT_SUPPLIER=Code comptable par défaut des tiers fournisseurs ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties
CloneTax=Clone a social contribution
ConfirmCloneTax=Confirm the clone of a social contribution
CloneTaxForNextMonth=Clone it for next month

View File

@ -1,7 +1,7 @@
# Dolibarr language file - Source file is en_US - donations # Dolibarr language file - Source file is en_US - donations
Donation=Don Donation=Don
Donations=Dons Donations=Dons
DonationRef=Numéro d'ordre du reçu DonationRef=Réf. donation
Donor=Donateur Donor=Donateur
Donors=Donateurs Donors=Donateurs
AddDonation=Ajouter don AddDonation=Ajouter don
@ -22,20 +22,12 @@ DonationStatusPromiseNotValidatedShort=Non validée
DonationStatusPromiseValidatedShort=Validée DonationStatusPromiseValidatedShort=Validée
DonationStatusPaidShort=Payé DonationStatusPaidShort=Payé
ValidPromess=Valider promesse ValidPromess=Valider promesse
DonationTitle=Reçu au titre des dons DonationReceipt=Reçu de dons
DonationReceipt=Reçu au titre des dons<br>à certains organismes d'intéret général
DonationDatePayment=Date de versement ou du don
BuildDonationReceipt=Créer reçu BuildDonationReceipt=Créer reçu
DonationsModels=Modèles de documents de bon de réception de dons DonationsModels=Modèles de documents de bon de réception de dons
LastModifiedDonations=Les %s derniers dons modifiés LastModifiedDonations=Les %s derniers dons modifiés
SearchADonation=Rechercher un don SearchADonation=Rechercher un don
DonationRecipient=Bénéficiaire des versements DonationRecipient=Bénéficiaire des versements
ThankYou=Merci ThankYou=Merci
FreeTextOnDonations=Message affiché sur le récépissé de versements ou dons IConfirmDonationReception=Le bénéficiaire reconnait avoir reçu au titre des versements ouvrant droit à réduction d'impôt, la somme de
IConfirmDonationReception=Le bénéficiaire reconnait avoir reçu au titre des dons et versements ouvrant droit à réduction d'impôt, la somme de MinimumAmount=Minimum amount is %s
# French Options
FrenchOptions=Options éligibles en France
DONATION_ART200=Les dons ou versements reçus sont éligibles à l'article 200 du CGI
DONATION_ART238=Les dons ou versements reçus sont éligibles à l'article 238bis du CGI
DONATION_ART885=Les dons ou versements reçus sont éligibles à l'article 885-0 V bis A du CGI
MinimumAmount=Le montant minimum du don est de %s

View File

@ -135,6 +135,8 @@ ErrorWarehouseMustDiffers=Les entrepôts source et destination doivent être dif
ErrorBadFormat=Mauvais format ErrorBadFormat=Mauvais format
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Erreur, cet adhérent n'est lié à aucun tiers. Lier l'adhérent à un tiers existant ou créer un nouveau tiers pour le lier avant de créer l'adhésion avec facture. ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Erreur, cet adhérent n'est lié à aucun tiers. Lier l'adhérent à un tiers existant ou créer un nouveau tiers pour le lier avant de créer l'adhésion avec facture.
ErrorThereIsSomeDeliveries=Erreur, il y a des bordereaux de réception liées à ces expéditions. La suppression est refusée. ErrorThereIsSomeDeliveries=Erreur, il y a des bordereaux de réception liées à ces expéditions. La suppression est refusée.
ErrorCantDeletePaymentReconciliated=Impossible d'effacer un paiement qui a généré une écriture bancaire qui a été rapprochée
ErrorCantDeletePaymentSharedWithPayedInvoice=Impossible d'effacer un paiement qui porte sur au moins une facture qui est à l'état payée.
# Warnings # Warnings
WarningMandatorySetupNotComplete=Les informations de configuration obligatoire doivent être renseignées WarningMandatorySetupNotComplete=Les informations de configuration obligatoire doivent être renseignées
@ -153,4 +155,5 @@ WarningUsingThisBoxSlowDown=Attention, l'utilisation de cette boite provoque de
WarningClickToDialUserSetupNotComplete=La configuration ClickToDial pour votre compte utilisateur n'est pas complète (voir l'onglet ClickToDial sur votre fiche utilisateur) WarningClickToDialUserSetupNotComplete=La configuration ClickToDial pour votre compte utilisateur n'est pas complète (voir l'onglet ClickToDial sur votre fiche utilisateur)
WarningNotRelevant=Opération non pertinente pour cet ensemble de données WarningNotRelevant=Opération non pertinente pour cet ensemble de données
WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Fonction désactivé quand l'affichage est en mode optimisé pour les personnes aveugles ou les navigateurs textes. WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Fonction désactivé quand l'affichage est en mode optimisé pour les personnes aveugles ou les navigateurs textes.
WarningPaymentDateLowerThanInvoiceDate=La date de paiement (%s) est inférieure à la date de facturaction (%s) de la facture %s. WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s.
WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters

View File

@ -1,13 +1,13 @@
# Dolibarr language file - Source file is en_US - holiday # Dolibarr language file - Source file is en_US - holiday
HRM=GRH HRM=GRH
Holidays=Congés Holidays=Leaves
CPTitreMenu=Congés CPTitreMenu=Leaves
MenuReportMonth=Etat mensuel MenuReportMonth=Etat mensuel
MenuAddCP=Nouvelle demande MenuAddCP=Make a leave request
NotActiveModCP=Vous devez activer le module Congés pour afficher cette page. NotActiveModCP=You must enable the module Leaves to view this page.
NotConfigModCP=Vous devez configurer le module Congés pour afficher cette page. Pour effectuer cette opération, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;">cliquer ici</a>. NotConfigModCP=You must configure the module Leaves to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
NoCPforUser=Vous n'avez pas encore de demande de congés. NoCPforUser=You don't have any available day.
AddCP=Créer demande de congés AddCP=Make a leave request
Employe=Employé Employe=Employé
DateDebCP=Date Début DateDebCP=Date Début
DateFinCP=Date Fin DateFinCP=Date Fin
@ -18,24 +18,24 @@ ApprovedCP=Approuvé
CancelCP=Annulée CancelCP=Annulée
RefuseCP=Refusée RefuseCP=Refusée
ValidatorCP=Approbateur ValidatorCP=Approbateur
ListeCP=Liste des congés ListeCP=List of leaves
ReviewedByCP=Sera approuvé par ReviewedByCP=Sera approuvé par
DescCP=Description DescCP=Description
SendRequestCP=Envoyer la demande de congés SendRequestCP=Create leave request
DelayToRequestCP=Les demandes de congés doivent être faites au moins <b>%s jours</b> avant la date</b> de ceux-ci. DelayToRequestCP=Leave requests must be made at least <b>%s day(s)</b> before them.
MenuConfCP=Mettre à jour solde MenuConfCP=Edit balance of leaves
UpdateAllCP=Mettre à jour les congés UpdateAllCP=Update the leaves
SoldeCPUser=Solde de congés: <b>%s jours</b>. SoldeCPUser=Leaves balance is <b>%s</b> days.
ErrorEndDateCP=Vous devez choisir une date de fin supérieur à la date de début. ErrorEndDateCP=Vous devez choisir une date de fin supérieur à la date de début.
ErrorSQLCreateCP=Une erreur SQL est survenue durant la création : ErrorSQLCreateCP=Une erreur SQL est survenue durant la création :
ErrorIDFicheCP=Une erreur est survenue, cette demande de congés n'existe pas. ErrorIDFicheCP=An error has occurred, the leave request does not exist.
ReturnCP=Retour à la page précédente ReturnCP=Retour à la page précédente
ErrorUserViewCP=Vous n'êtes pas autorisé à lire cette demande de congés. ErrorUserViewCP=You are not authorized to read this leave request.
InfosCP=Informations de la demande de congés InfosCP=Information of the leave request
InfosWorkflowCP=Informations du workflow InfosWorkflowCP=Informations du workflow
RequestByCP=Demandée par RequestByCP=Demandée par
TitreRequestCP=Fiche Congés TitreRequestCP=Leave request
NbUseDaysCP=Nombre de jours de congés consommés NbUseDaysCP=Number of days of vacation consumed
EditCP=Modifier EditCP=Modifier
DeleteCP=Supprimer DeleteCP=Supprimer
ActionValidCP=Valider ActionValidCP=Valider
@ -43,26 +43,26 @@ ActionRefuseCP=Refuser
ActionCancelCP=Annuler ActionCancelCP=Annuler
StatutCP=Statut StatutCP=Statut
SendToValidationCP=Envoyer en validation SendToValidationCP=Envoyer en validation
TitleDeleteCP=Supprimer la demande de Congés TitleDeleteCP=Delete the leave request
ConfirmDeleteCP=Confirmer la suppression de cette demande de congés ? ConfirmDeleteCP=Confirm the deletion of this leave request?
ErrorCantDeleteCP=Erreur, vous n'avez pas le droit de supprimer cette demande de congés. ErrorCantDeleteCP=Error you don't have the right to delete this leave request.
CantCreateCP=Vous n'avez pas le droit de faire des demandes de congés. CantCreateCP=You don't have the right to make leave requests.
InvalidValidatorCP=Vous devez choisir un approbateur pour votre demande de congés. InvalidValidatorCP=You must choose an approbator to your leave request.
UpdateButtonCP=Mettre à jour UpdateButtonCP=Mettre à jour
CantUpdate=Vous ne pouvez pas mettre à jour cette demande de congés. CantUpdate=You cannot update this leave request.
NoDateDebut=Vous devez choisir une date de début. NoDateDebut=Vous devez choisir une date de début.
NoDateFin=Vous devez choisir une date de fin. NoDateFin=Vous devez choisir une date de fin.
ErrorDureeCP=Votre demande de congés payés ne contient aucun jour ouvré. ErrorDureeCP=Votre demande de congés payés ne contient aucun jour ouvré.
TitleValidCP=Valider la demande de Congés Payés TitleValidCP=Valider la demande de Congés Payés
ConfirmValidCP=Êtes-vous sûr de vouloir valider la demande de congés ? ConfirmValidCP=Are you sure you want to approve the leave request?
DateValidCP=Date d'approbation DateValidCP=Date d'approbation
TitleToValidCP=Envoyer la demande de Congés Payés TitleToValidCP=Send leave request
ConfirmToValidCP=Êtes-vous sûr de vouloir envoyer la demande de congés ? ConfirmToValidCP=Are you sure you want to send the leave request?
TitleRefuseCP=Refuser la demande de Congés Payés TitleRefuseCP=Refuser la demande de Congés Payés
ConfirmRefuseCP=Êtes-vous sûr de vouloir refuser la demande de congés ? ConfirmRefuseCP=Are you sure you want to refuse the leave request?
NoMotifRefuseCP=Vous devez choisir un motif pour refuser cette demande. NoMotifRefuseCP=Vous devez choisir un motif pour refuser cette demande.
TitleCancelCP=Annuler la demande de Congés Payés TitleCancelCP=Annuler la demande de Congés Payés
ConfirmCancelCP=Êtes-vous sûr de vouloir annuler la demande de congés ? ConfirmCancelCP=Are you sure you want to cancel the leave request?
DetailRefusCP=Motif du refus DetailRefusCP=Motif du refus
DateRefusCP=Date du refus DateRefusCP=Date du refus
DateCancelCP=Date de l'annulation DateCancelCP=Date de l'annulation
@ -72,8 +72,8 @@ MotifCP=Motif
UserCP=Utilisateur UserCP=Utilisateur
ErrorAddEventToUserCP=Une erreur est survenue durant l'ajout du congé exceptionnel. ErrorAddEventToUserCP=Une erreur est survenue durant l'ajout du congé exceptionnel.
AddEventToUserOkCP=L'ajout du congé exceptionnel à bien été effectué. AddEventToUserOkCP=L'ajout du congé exceptionnel à bien été effectué.
MenuLogCP=Voir les logs des congés MenuLogCP=View logs of leave requests
LogCP=Logs des mises à jours des congés LogCP=Log of updates of available vacation days
ActionByCP=Réalisée par ActionByCP=Réalisée par
UserUpdateCP=Pour l'utilisateur UserUpdateCP=Pour l'utilisateur
PrevSoldeCP=Précédent Solde PrevSoldeCP=Précédent Solde
@ -81,33 +81,33 @@ NewSoldeCP=Nouveau Solde
alreadyCPexist=Une demande de congés à déjà été effectuée sur cette période. alreadyCPexist=Une demande de congés à déjà été effectuée sur cette période.
UserName=Nom Prénom UserName=Nom Prénom
Employee=Salarié Employee=Salarié
FirstDayOfHoliday=Premier jour de congés FirstDayOfHoliday=First day of vacation
LastDayOfHoliday=Dernier jour de congés LastDayOfHoliday=Last day of vacation
HolidaysMonthlyUpdate=Mise à jour mensuelle HolidaysMonthlyUpdate=Mise à jour mensuelle
ManualUpdate=Mise à jour manuelle ManualUpdate=Mise à jour manuelle
HolidaysCancelation=Annulation de congès HolidaysCancelation=Leave request cancelation
## Configuration du Module ## ## Configuration du Module ##
ConfCP=Configuration du module Congés ConfCP=Configuration du module Congés
DescOptionCP=Description de l'option DescOptionCP=Description de l'option
ValueOptionCP=Valeur ValueOptionCP=Valeur
GroupToValidateCP=Groupe ayant la possibilité d'approuver les congés GroupToValidateCP=Group with the ability to approve vacation
ConfirmConfigCP=Valider la configuration ConfirmConfigCP=Valider la configuration
LastUpdateCP=Dernière mise à jour automatique des congés LastUpdateCP=Last automatic update of vacation
UpdateConfCPOK=Mise à jour effectuée avec succès. UpdateConfCPOK=Mise à jour effectuée avec succès.
ErrorUpdateConfCP=Une erreur à eu lieu durant la mise à jour, merci de réessayer. ErrorUpdateConfCP=Une erreur à eu lieu durant la mise à jour, merci de réessayer.
AddCPforUsers=Veuillez ajouter le solde des congés des utilisateurs en <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">cliquant ici</a>. AddCPforUsers=Veuillez ajouter le solde des congés des utilisateurs en <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">cliquant ici</a>.
DelayForSubmitCP=Délai pour faire une demande de congés avant ceux-ci DelayForSubmitCP=Délai pour faire une demande de congés avant ceux-ci
AlertapprobatortorDelayCP=Prévenir le validateur si la demande de congés ne correspond pas à la date limite AlertapprobatortorDelayCP=Prévenir le validateur si la demande de congés ne correspond pas à la date limite
AlertValidatorDelayCP=Prévenir le valideur si la demande de congés ne respecte le délai prévu AlertValidatorDelayCP=Préevent the approbator if the leave request exceed delay
AlertValidorSoldeCP=Prévenir le valideur si l'utilisateur demande des congés dépassant son solde AlertValidorSoldeCP=Prevent the approbator if the leave request exceed the balance
nbUserCP=Nombre d'utilisateur pris en charge dans le module congés nbUserCP=Number of users supported in the module Leaves
nbHolidayDeductedCP=Nombre de congés payés à déduire par jour de congé pris nbHolidayDeductedCP=Number of holidays to be deducted per day of vacation taken
nbHolidayEveryMonthCP=Nombre de congés payés ajoutés chaque mois nbHolidayEveryMonthCP=Number of vacation days added every month
Module27130Name= Gestion des congés Module27130Name= Management of leave requests
Module27130Desc= Gestion des congés Module27130Desc= Management of leave requests
TitleOptionMainCP=Réglages principaux des congés TitleOptionMainCP=Main settings of Leave request
TitleOptionEventCP=Réglages des congés liés à des évènements TitleOptionEventCP=Settings of leave requets for events
ValidEventCP=Valider ValidEventCP=Valider
UpdateEventCP=Mettre à jour les évènements UpdateEventCP=Mettre à jour les évènements
CreateEventCP=Créer CreateEventCP=Créer
@ -127,23 +127,23 @@ UpdateEventOptionCP=Mettre à jour
ErrorMailNotSend=Une erreur est survenue lors de l'envoi du mail : ErrorMailNotSend=Une erreur est survenue lors de l'envoi du mail :
NoCPforMonth=Aucun congé ce mois-ci. NoCPforMonth=Aucun congé ce mois-ci.
nbJours=Nombre jours nbJours=Nombre jours
TitleAdminCP=Configuration des Congés TitleAdminCP=Configuration of Leaves
#Messages #Messages
Hello=Bonjour Hello=Bonjour
HolidaysToValidate=Congés payés à valider HolidaysToValidate=Validate leave requests
HolidaysToValidateBody=Veuillez trouver ci-dessous une demande de congés payés à valider. HolidaysToValidateBody=Below is a leave request to validate
HolidaysToValidateDelay=Cette demande de congés payés à été effectué dans un délai de moins de %s jours avant ceux-ci. HolidaysToValidateDelay=This leave request will take place within a period of less than %s days.
HolidaysToValidateAlertSolde=L'utilisateur ayant fait cette demande de congés payés n'a pas le solde requis. HolidaysToValidateAlertSolde=The user who made this leave reques do not have enough available days.
HolidaysValidated=Congés payés validée HolidaysValidated=Validated leave requests
HolidaysValidatedBody=Votre demande de congés payés du %s au %s vient d'être validée! HolidaysValidatedBody=Your leave request for %s to %s has been validated.
HolidaysRefused=Congés payés refusée HolidaysRefused=Request denied
HolidaysRefusedBody=Votre demande de congés payés %s à %s vient d'être refusée pour le motif suivant : HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason :
HolidaysCanceled=Congés payés annulée HolidaysCanceled=Canceled leaved request
HolidaysCanceledBody=Votre demande de congés %s à %s va été annulée. HolidaysCanceledBody=Your leave request for %s to %s has been canceled.
Permission20000=Lire ses propres congès Permission20000=Read you own leave requests
Permission20001=Créer/modifier ses propres congès Permission20001=Create/modify your leave requests
Permission20002=Créer/modifier les congès pour tout le monde Permission20002=Create/modify leave requests for everybody
Permission20003=Supprimer les demandes de congés Permission20003=Delete leave requests
Permission20004=Définir les congés des utilisateurs Permission20004=Setup users available vacation days
Permission20005=Voir les logs de modification des congés payés Permission20005=Review log of modified leave requests
Permission20006=Accéder au rapport mensuel des congés Permission20006=Read leaves monthly report

View File

@ -24,8 +24,8 @@ NameAndSignatureOfInternalContact=Nom et signature de l'intervenant :
NameAndSignatureOfExternalContact=Nom et signature du client : NameAndSignatureOfExternalContact=Nom et signature du client :
DocumentModelStandard=Modèle de fiche d'intervention standard DocumentModelStandard=Modèle de fiche d'intervention standard
InterventionCardsAndInterventionLines=Fiches interventions et lignes d'interventions InterventionCardsAndInterventionLines=Fiches interventions et lignes d'interventions
ClassifyBilled=Classer "Facturée" InterventionClassifyBilled=Classify "Billed"
ClassifyUnBilled=Classer "Non facturée" InterventionClassifyUnBilled=Classify "Unbilled"
StatusInterInvoiced=Facturée StatusInterInvoiced=Facturée
RelatedInterventions=Interventions rattachées RelatedInterventions=Interventions rattachées
ShowIntervention=Afficher intervention ShowIntervention=Afficher intervention

View File

@ -85,13 +85,13 @@ ActionsOnProject=Événements sur le projet
YouAreNotContactOfProject=Vous n'êtes pas contact de ce projet privé YouAreNotContactOfProject=Vous n'êtes pas contact de ce projet privé
DeleteATimeSpent=Suppression du temps consommé DeleteATimeSpent=Suppression du temps consommé
ConfirmDeleteATimeSpent=Êtes-vous sûr de vouloir supprimer ce temps consommé ? ConfirmDeleteATimeSpent=Êtes-vous sûr de vouloir supprimer ce temps consommé ?
DoNotShowMyTasksOnly=Voir aussi les tâches qui ne me sont pas affectées DoNotShowMyTasksOnly=See also tasks not assigned to me
ShowMyTasksOnly=Ne voir que les tâches qui me sont affectées ShowMyTasksOnly=View only tasks assigned to me
TaskRessourceLinks=Affectation ressources TaskRessourceLinks=Affectation ressources
ProjectsDedicatedToThisThirdParty=Projets dédiés à ce tiers ProjectsDedicatedToThisThirdParty=Projets dédiés à ce tiers
NoTasks=Aucune tâche pour ce projet NoTasks=Aucune tâche pour ce projet
LinkedToAnotherCompany=Liés à autre société LinkedToAnotherCompany=Liés à autre société
TaskIsNotAffectedToYou=Tâche qui ne vous est pas affectée TaskIsNotAffectedToYou=Task not assigned to you
ErrorTimeSpentIsEmpty=Le temps consommé n'est pas renseigné ErrorTimeSpentIsEmpty=Le temps consommé n'est pas renseigné
ThisWillAlsoRemoveTasks=Cette opération détruira également les tâches du projet (<b>%s</b> tâches actuellement) et le suivi des consommés. ThisWillAlsoRemoveTasks=Cette opération détruira également les tâches du projet (<b>%s</b> tâches actuellement) et le suivi des consommés.
IfNeedToUseOhterObjectKeepEmpty=Si des objets (facture, commande, ...), appartenant à un autre tiers que celui choisi, doivent être liés au projet à créer, laisser vide afin de laisser le projet multi-tiers. IfNeedToUseOhterObjectKeepEmpty=Si des objets (facture, commande, ...), appartenant à un autre tiers que celui choisi, doivent être liés au projet à créer, laisser vide afin de laisser le projet multi-tiers.
@ -119,8 +119,8 @@ TypeContact_project_task_external_TASKEXECUTIVE=Responsable
TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributeur TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributeur
TypeContact_project_task_external_TASKCONTRIBUTOR=Contributeur TypeContact_project_task_external_TASKCONTRIBUTOR=Contributeur
SelectElement=Séléctionnez l'élément SelectElement=Séléctionnez l'élément
AddElement=Associer l'élément AddElement=Link to element
UnlinkElement=Délier l'element UnlinkElement=Unlink element
# Documents models # Documents models
DocumentModelBaleine=Modèle de rapport de projet complet (logo...) DocumentModelBaleine=Modèle de rapport de projet complet (logo...)
PlannedWorkload = Charge de travail prévue PlannedWorkload = Charge de travail prévue
@ -129,4 +129,4 @@ ProjectReferers=Objets associés
SearchAProject=Rechercher un projet SearchAProject=Rechercher un projet
ProjectMustBeValidatedFirst=Le projet doit être validé d'abord ProjectMustBeValidatedFirst=Le projet doit être validé d'abord
ProjectDraft=Projets brouillons ProjectDraft=Projets brouillons
FirstAddRessourceToAllocateTime=Associer une ressource pour allouer du temps consomée FirstAddRessourceToAllocateTime=Associate a ressource to allocate time

View File

@ -54,7 +54,7 @@ StatsOnShipmentsOnlyValidated=Statistiques effectuées sur les expéditions vali
DateDeliveryPlanned=Date de livraison prévue DateDeliveryPlanned=Date de livraison prévue
DateReceived=Date de réception réelle DateReceived=Date de réception réelle
SendShippingByEMail=Envoyer bon d'expédition par email SendShippingByEMail=Envoyer bon d'expédition par email
SendShippingRef=Envoi bon d'expédition %s SendShippingRef=Envoi du bordereau d'expédition %s
ActionsOnShipping=Événements sur l'expédition ActionsOnShipping=Événements sur l'expédition
LinkToTrackYourPackage=Lien pour le suivi de votre colis LinkToTrackYourPackage=Lien pour le suivi de votre colis
ShipmentCreationIsDoneFromOrder=Pour le moment, la création d'une nouvelle expédition se fait depuis la fiche commande. ShipmentCreationIsDoneFromOrder=Pour le moment, la création d'une nouvelle expédition se fait depuis la fiche commande.
@ -66,11 +66,13 @@ CarrierList=Liste des transporteurs
SendingMethodCATCH=Enlèvement par le client SendingMethodCATCH=Enlèvement par le client
SendingMethodTRANS=Transporteur SendingMethodTRANS=Transporteur
SendingMethodCOLSUI=Colissimo Suivi SendingMethodCOLSUI=Colissimo Suivi
# ModelDocument # ModelDocument
DocumentModelSirocco=Modèle de bon de réception/livraison simple DocumentModelSirocco=Modèle de bon de réception/livraison simple
DocumentModelTyphon=Modèle de bon de réception/livraison complet (logo…) DocumentModelTyphon=Modèle de bon de réception/livraison complet (logo…)
Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constante EXPEDITION_ADDON_NUMBER non définie Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constante EXPEDITION_ADDON_NUMBER non définie
SumOfProductVolumes=Somme des volumes des produits SumOfProductVolumes=Somme des volumes des produits
SumOfProductWeights=Somme des poids des produits SumOfProductWeights=Somme des poids des produits
# warehouse details
DetailWarehouseNumber= Warehouse details
DetailWarehouseFormat= W:%s (Qty : %d)

View File

@ -40,5 +40,5 @@ AddSupplierInvoice=Créer facture fournisseur
ListOfSupplierProductForSupplier=Liste des produits et prix du fournisseurs <b>%s</b> ListOfSupplierProductForSupplier=Liste des produits et prix du fournisseurs <b>%s</b>
NoneOrBatchFileNeverRan=Aucun ou traitement par lot <b>%s</b> non exécuté récemment NoneOrBatchFileNeverRan=Aucun ou traitement par lot <b>%s</b> non exécuté récemment
SentToSuppliers=Envoyés aux fournisseurs SentToSuppliers=Envoyés aux fournisseurs
ListOfSupplierOrders=Liste des commandes fournisseur ListOfSupplierOrders=List of supplier orders
MenuOrdersSupplierToBill=Commandes fournisseur à facturer MenuOrdersSupplierToBill=Supplier orders to invoice

View File

@ -2375,7 +2375,7 @@ table.cal_month { border-spacing: 0px; }
.cal_past { } .cal_past { }
.cal_peruser { padding: 0px; } .cal_peruser { padding: 0px; }
.peruser_busy { background: #CC8888; } .peruser_busy { background: #CC8888; }
.peruser_notbusy { background: #EEDDDD; } .peruser_notbusy { background: #EEDDDD; opacity: 0.5; }
table.cal_event { border: none; border-collapse: collapse; margin-bottom: 1px; -webkit-border-radius: 6px; border-radius: 6px; table.cal_event { border: none; border-collapse: collapse; margin-bottom: 1px; -webkit-border-radius: 6px; border-radius: 6px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25);
moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25);