mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Merge remote-tracking branch 'origin/3.4' into develop
Conflicts: ChangeLog htdocs/commande/fiche.php htdocs/core/class/extrafields.class.php htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php
This commit is contained in:
commit
67820774bb
30
ChangeLog
30
ChangeLog
|
|
@ -2,7 +2,7 @@
|
|||
English Dolibarr ChangeLog
|
||||
--------------------------------------------------------------
|
||||
|
||||
***** ChangeLog for 3.5 compared to 3.4 *****
|
||||
***** ChangeLog for 3.5 compared to 3.4.* *****
|
||||
For users:
|
||||
- New: [ task #862 ] Add ODT on shipments
|
||||
- New: [ task #149 ] Add # of notes and attachments in tabs
|
||||
|
|
@ -78,7 +78,7 @@ this was not a good pratice, since object->id is already known so no need to pro
|
|||
parameter. All methods addline in this case were modified to remove this information.
|
||||
|
||||
|
||||
***** ChangeLog for 3.4 compared to 3.3.2 *****
|
||||
***** ChangeLog for 3.4 compared to 3.3.* *****
|
||||
For users:
|
||||
- New: Can use ODS templates as document templates.
|
||||
- New: Add link to autofill/reset with quantity to ship when creating a
|
||||
|
|
@ -168,6 +168,8 @@ WARNING: If you used external modules, some of them may need to be upgraded due
|
|||
function to keep same behaviour.
|
||||
|
||||
|
||||
***** ChangeLog for 3.3.4 compared to 3.3.3 *****
|
||||
- Fix: [ bug #1001 ] Social Contribution : State not correct
|
||||
|
||||
***** ChangeLog for 3.3.3 compared to 3.3.2 *****
|
||||
- Fix: [ bug #903 ] Fatal error: Call to undefined function dol_get_first_day() in htdocs/commande/liste.php
|
||||
|
|
@ -212,7 +214,7 @@ WARNING: If you used external modules, some of them may need to be upgraded due
|
|||
- Fix: [ bug #762 ] Bad profit calculation in Reporting
|
||||
- Fix: bug dictionnary with wrong prefix table
|
||||
|
||||
***** ChangeLog for 3.3 compared to 3.2.3 *****
|
||||
***** ChangeLog for 3.3 compared to 3.2.* *****
|
||||
For users:
|
||||
- New: Add holiday module, to declare and follow holidays of your employees.
|
||||
- New: Add margin management module.
|
||||
|
|
@ -390,7 +392,7 @@ Dolibarr license has also been updated from GPLv2+ to GPLv3+.
|
|||
|
||||
|
||||
|
||||
***** ChangeLog for 3.2.0 compared to 3.1.3 *****
|
||||
***** ChangeLog for 3.2.0 compared to 3.1.* *****
|
||||
WARNING: PHP lower than 5.x are no more supported.
|
||||
WARNING: Because of a major datastructure change onto supplier prices tables, be aware
|
||||
to make a backup of your database before making upgrade.
|
||||
|
|
@ -631,7 +633,7 @@ For translators:
|
|||
|
||||
|
||||
|
||||
***** ChangeLog for 3.0 compared to 2.9 *****
|
||||
***** ChangeLog for 3.0 compared to 2.9.* *****
|
||||
|
||||
For users:
|
||||
- New: Can edit date of cheque receipts.
|
||||
|
|
@ -727,7 +729,7 @@ For developers:
|
|||
- Qual: Removed deprecated code.
|
||||
|
||||
|
||||
***** ChangeLog for 2.9 compared to 2.8 *****
|
||||
***** ChangeLog for 2.9 compared to 2.8.* *****
|
||||
|
||||
For users:
|
||||
- New: POS module allow to choose which warehouse to use.
|
||||
|
|
@ -845,7 +847,7 @@ For users:
|
|||
- Fix: bug #29526 : Numérotation Proposition Incorrecte après duplication
|
||||
|
||||
|
||||
***** ChangeLog for 2.8 compared to 2.7 *****
|
||||
***** ChangeLog for 2.8 compared to 2.7.* *****
|
||||
|
||||
For users:
|
||||
- New: Support note on trips module
|
||||
|
|
@ -909,7 +911,7 @@ For users:
|
|||
- Fix: Update member photo.
|
||||
|
||||
|
||||
***** ChangeLog for 2.7 compared to 2.6 *****
|
||||
***** ChangeLog for 2.7 compared to 2.6.* *****
|
||||
|
||||
For users:
|
||||
- New: Add a print icon to show a page to print without menus.
|
||||
|
|
@ -1008,7 +1010,7 @@ For developers:
|
|||
- All install files are now in same directory /install.
|
||||
|
||||
|
||||
***** ChangeLog for 2.6 compared to 2.5 *****
|
||||
***** ChangeLog for 2.6 compared to 2.5.* *****
|
||||
|
||||
For users:
|
||||
- New: Add filter on status in emailing selector for Dolibarr users.
|
||||
|
|
@ -1091,7 +1093,7 @@ For developers:
|
|||
- First change for future geoip module.
|
||||
|
||||
|
||||
***** ChangeLog for 2.5 compared to 2.4 *****
|
||||
***** ChangeLog for 2.5 compared to 2.4.* *****
|
||||
|
||||
For users:
|
||||
- Sessions timeout can be configured to overwrite PHP setup.
|
||||
|
|
@ -1155,7 +1157,7 @@ For developers:
|
|||
|
||||
|
||||
|
||||
***** ChangeLog for 2.4 compared to 2.2 *****
|
||||
***** ChangeLog for 2.4 compared to 2.2.* *****
|
||||
|
||||
For users:
|
||||
- Add a calendar module (module agenda) with ical/vcal/rss export.
|
||||
|
|
@ -1210,7 +1212,7 @@ For developers:
|
|||
Windows with Apache and Mysql included.
|
||||
|
||||
|
||||
***** ChangeLog for 2.2 compared to 2.1 *****
|
||||
***** ChangeLog for 2.2 compared to 2.1.* *****
|
||||
|
||||
- Add more statistics on main page.
|
||||
- Add option to add message on login page.
|
||||
|
|
@ -1244,7 +1246,7 @@ For developers:
|
|||
- Can drag and drop boxes on main page.
|
||||
|
||||
|
||||
***** ChangeLog for 2.1 compared to 2.0.1 *****
|
||||
***** ChangeLog for 2.1 compared to 2.0.* *****
|
||||
|
||||
- Added a better installer.
|
||||
- Support user and groups permissions.
|
||||
|
|
@ -1315,7 +1317,7 @@ Minor bug fixes
|
|||
|
||||
|
||||
|
||||
***** ChangeLog for 2.0 compared to 1.0 *****
|
||||
***** ChangeLog for 2.0 compared to 1.0.* *****
|
||||
|
||||
ChangeLog file size is so important, that it is not included inside Dolibarr
|
||||
package. You can find it at www.dolibarr.org
|
||||
|
|
|
|||
|
|
@ -914,7 +914,7 @@ else
|
|||
|
||||
// Login Dolibarr
|
||||
print '<tr><td>'.$langs->trans("LinkedToDolibarrUser").'</td><td class="valeur">';
|
||||
print $form->select_users($object->user_id,'userid',1);
|
||||
print $form->select_dolusers($object->user_id,'userid',1);
|
||||
print '</td></tr>';
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ $filter='s.client in (1,2,3)';
|
|||
print $form->select_company($id,'memberid',$filter,1);
|
||||
print '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("User").'</td><td>';
|
||||
print $form->select_users($userid,'userid',1);
|
||||
print $form->select_dolusers($userid,'userid',1);
|
||||
print '</td></tr>';
|
||||
print '<tr><td align="center" colspan="2"><input type="submit" name="submit" class="button" value="'.$langs->trans("Refresh").'"></td></tr>';
|
||||
print '</table>';
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ print "</tr>";
|
|||
print '<tr class="impair"><td>'.$langs->trans("ResponsibleUser").'</td>';
|
||||
print '<td align="left">';
|
||||
print '<input type="hidden" name="nom0" value="PRELEVEMENT_USER">';
|
||||
print $form->select_users($conf->global->PRELEVEMENT_USER,'value0',1);
|
||||
print $form->select_dolusers($conf->global->PRELEVEMENT_USER,'value0',1);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
|
|
|||
|
|
@ -331,7 +331,7 @@ else if ($action == 'add' && $user->rights->propal->creer)
|
|||
$object->origin = GETPOST('origin');
|
||||
$object->origin_id = GETPOST('originid');
|
||||
|
||||
for ($i = 1 ; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i++)
|
||||
for ($i = 1; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i++)
|
||||
{
|
||||
if ($_POST['idprod'.$i])
|
||||
{
|
||||
|
|
@ -344,55 +344,61 @@ else if ($action == 'add' && $user->rights->propal->creer)
|
|||
|
||||
// Fill array 'array_options' with data from add form
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
|
||||
$id = $object->create($user);
|
||||
if($ret < 0) {
|
||||
$error++;
|
||||
$action = 'create';
|
||||
}
|
||||
}
|
||||
|
||||
if ($id > 0)
|
||||
{
|
||||
// Insertion contact par defaut si defini
|
||||
if (GETPOST('contactidp') > 0)
|
||||
{
|
||||
$result=$object->add_contact(GETPOST('contactidp'),'CUSTOMER','external');
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
setEventMessage($langs->trans("ErrorFailedToAddContact"), 'errors');
|
||||
}
|
||||
}
|
||||
if(!$error) {
|
||||
$id = $object->create($user);
|
||||
|
||||
if (! $error)
|
||||
if ($id > 0)
|
||||
{
|
||||
$db->commit();
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||
// Insertion contact par defaut si defini
|
||||
if (GETPOST('contactidp') > 0)
|
||||
{
|
||||
// Define output language
|
||||
$outputlangs = $langs;
|
||||
if (! empty($conf->global->MAIN_MULTILANGS))
|
||||
$result=$object->add_contact(GETPOST('contactidp'),'CUSTOMER','external');
|
||||
if ($result < 0)
|
||||
{
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang);
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
$error++;
|
||||
setEventMessage($langs->trans("ErrorFailedToAddContact"), 'errors');
|
||||
}
|
||||
$ret=$object->fetch($id); // Reload to get new records
|
||||
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
}
|
||||
|
||||
header('Location: '.$_SERVER["PHP_SELF"].'?id='.$id);
|
||||
exit;
|
||||
if (! $error)
|
||||
{
|
||||
$db->commit();
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||
{
|
||||
// Define output language
|
||||
$outputlangs = $langs;
|
||||
if (! empty($conf->global->MAIN_MULTILANGS))
|
||||
{
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang);
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
}
|
||||
$ret=$object->fetch($id); // Reload to get new records
|
||||
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
}
|
||||
|
||||
header('Location: '.$_SERVER["PHP_SELF"].'?id='.$id);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->rollback();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db,$object->error);
|
||||
$db->rollback();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db,$object->error);
|
||||
$db->rollback();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1150,24 +1156,30 @@ else if ($action == 'update_extras')
|
|||
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
|
||||
// Actions on extra fields (by external module or standard code)
|
||||
// FIXME le hook fait double emploi avec le trigger !!
|
||||
$hookmanager->initHooks(array('propaldao'));
|
||||
$parameters=array('id'=>$object->id);
|
||||
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
if (empty($reshook))
|
||||
{
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||
if($ret < 0) {
|
||||
$error++;
|
||||
$action = 'edit_extras';
|
||||
}
|
||||
|
||||
if(!$error) {
|
||||
// Actions on extra fields (by external module or standard code)
|
||||
// FIXME le hook fait double emploi avec le trigger !!
|
||||
$hookmanager->initHooks(array('propaldao'));
|
||||
$parameters=array('id'=>$object->id);
|
||||
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
if (empty($reshook))
|
||||
{
|
||||
$result=$object->insertExtraFields();
|
||||
if ($result < 0)
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||
{
|
||||
$error++;
|
||||
$result=$object->insertExtraFields();
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ($reshook < 0) $error++;
|
||||
}
|
||||
else if ($reshook < 0) $error++;
|
||||
|
||||
}
|
||||
|
||||
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->creer)
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
|
|||
print '</td></tr>';
|
||||
// User
|
||||
print '<tr><td align="left">'.$langs->trans("CreatedBy").'</td><td align="left">';
|
||||
print $form->select_users($userid,'userid',1);
|
||||
print $form->select_dolusers($userid,'userid',1);
|
||||
print '</td></tr>';
|
||||
// Year
|
||||
print '<tr><td align="left">'.$langs->trans("Year").'</td><td align="left">';
|
||||
|
|
|
|||
|
|
@ -274,124 +274,137 @@ else if ($action == 'add' && $user->rights->commande->creer)
|
|||
|
||||
// Fill array 'array_options' with data from add form
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
if($ret < 0)
|
||||
$error++;
|
||||
|
||||
$object_id = $object->create($user);
|
||||
if(!$error) {
|
||||
$object_id = $object->create($user);
|
||||
|
||||
if ($object_id > 0)
|
||||
{
|
||||
dol_include_once('/'.$element.'/class/'.$subelement.'.class.php');
|
||||
|
||||
$classname = ucfirst($subelement);
|
||||
$srcobject = new $classname($db);
|
||||
|
||||
dol_syslog("Try to find source object origin=".$object->origin." originid=".$object->origin_id." to add lines");
|
||||
$result=$srcobject->fetch($object->origin_id);
|
||||
if ($result > 0)
|
||||
if ($object_id > 0)
|
||||
{
|
||||
$lines = $srcobject->lines;
|
||||
if (empty($lines) && method_exists($srcobject,'fetch_lines')) $lines = $srcobject->fetch_lines();
|
||||
dol_include_once('/'.$element.'/class/'.$subelement.'.class.php');
|
||||
|
||||
$fk_parent_line=0;
|
||||
$num=count($lines);
|
||||
$classname = ucfirst($subelement);
|
||||
$srcobject = new $classname($db);
|
||||
|
||||
for ($i=0;$i<$num;$i++)
|
||||
dol_syslog("Try to find source object origin=".$object->origin." originid=".$object->origin_id." to add lines");
|
||||
$result=$srcobject->fetch($object->origin_id);
|
||||
if ($result > 0)
|
||||
{
|
||||
$label=(! empty($lines[$i]->label)?$lines[$i]->label:'');
|
||||
$desc=(! empty($lines[$i]->desc)?$lines[$i]->desc:$lines[$i]->libelle);
|
||||
$product_type=(! empty($lines[$i]->product_type)?$lines[$i]->product_type:0);
|
||||
$lines = $srcobject->lines;
|
||||
if (empty($lines) && method_exists($srcobject,'fetch_lines')) $lines = $srcobject->fetch_lines();
|
||||
|
||||
// Dates
|
||||
// TODO mutualiser
|
||||
$date_start=$lines[$i]->date_debut_prevue;
|
||||
if ($lines[$i]->date_debut_reel) $date_start=$lines[$i]->date_debut_reel;
|
||||
if ($lines[$i]->date_start) $date_start=$lines[$i]->date_start;
|
||||
$date_end=$lines[$i]->date_fin_prevue;
|
||||
if ($lines[$i]->date_fin_reel) $date_end=$lines[$i]->date_fin_reel;
|
||||
if ($lines[$i]->date_end) $date_end=$lines[$i]->date_end;
|
||||
$fk_parent_line=0;
|
||||
$num=count($lines);
|
||||
|
||||
// Reset fk_parent_line for no child products and special product
|
||||
if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) {
|
||||
$fk_parent_line = 0;
|
||||
}
|
||||
|
||||
//Extrafields
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i],'fetch_optionals') ) // For avoid conflicts if trigger used
|
||||
for ($i=0;$i<$num;$i++)
|
||||
{
|
||||
$lines[$i]->fetch_optionals($lines[$i]->rowid);
|
||||
$array_option=$lines[$i]->array_options;
|
||||
$label=(! empty($lines[$i]->label)?$lines[$i]->label:'');
|
||||
$desc=(! empty($lines[$i]->desc)?$lines[$i]->desc:$lines[$i]->libelle);
|
||||
$product_type=(! empty($lines[$i]->product_type)?$lines[$i]->product_type:0);
|
||||
|
||||
// Dates
|
||||
// TODO mutualiser
|
||||
$date_start=$lines[$i]->date_debut_prevue;
|
||||
if ($lines[$i]->date_debut_reel) $date_start=$lines[$i]->date_debut_reel;
|
||||
if ($lines[$i]->date_start) $date_start=$lines[$i]->date_start;
|
||||
$date_end=$lines[$i]->date_fin_prevue;
|
||||
if ($lines[$i]->date_fin_reel) $date_end=$lines[$i]->date_fin_reel;
|
||||
if ($lines[$i]->date_end) $date_end=$lines[$i]->date_end;
|
||||
|
||||
// Reset fk_parent_line for no child products and special product
|
||||
if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) {
|
||||
$fk_parent_line = 0;
|
||||
}
|
||||
|
||||
//Extrafields
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i],'fetch_optionals') ) // For avoid conflicts if trigger used
|
||||
{
|
||||
$lines[$i]->fetch_optionals($lines[$i]->rowid);
|
||||
$array_option=$lines[$i]->array_options;
|
||||
}
|
||||
|
||||
$result = $object->addline(
|
||||
$desc,
|
||||
$lines[$i]->subprice,
|
||||
$lines[$i]->qty,
|
||||
$lines[$i]->tva_tx,
|
||||
$lines[$i]->localtax1_tx,
|
||||
$lines[$i]->localtax2_tx,
|
||||
$lines[$i]->fk_product,
|
||||
$lines[$i]->remise_percent,
|
||||
$lines[$i]->info_bits,
|
||||
$lines[$i]->fk_remise_except,
|
||||
'HT',
|
||||
0,
|
||||
$date_start,
|
||||
$date_end,
|
||||
$product_type,
|
||||
$lines[$i]->rang,
|
||||
$lines[$i]->special_code,
|
||||
$fk_parent_line,
|
||||
$lines[$i]->fk_fournprice,
|
||||
$lines[$i]->pa_ht,
|
||||
$label,
|
||||
$array_option
|
||||
);
|
||||
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
break;
|
||||
}
|
||||
|
||||
// Defined the new fk_parent_line
|
||||
if ($result > 0 && $lines[$i]->product_type == 9) {
|
||||
$fk_parent_line = $result;
|
||||
}
|
||||
}
|
||||
|
||||
$result = $object->addline(
|
||||
$desc,
|
||||
$lines[$i]->subprice,
|
||||
$lines[$i]->qty,
|
||||
$lines[$i]->tva_tx,
|
||||
$lines[$i]->localtax1_tx,
|
||||
$lines[$i]->localtax2_tx,
|
||||
$lines[$i]->fk_product,
|
||||
$lines[$i]->remise_percent,
|
||||
$lines[$i]->info_bits,
|
||||
$lines[$i]->fk_remise_except,
|
||||
'HT',
|
||||
0,
|
||||
$date_start,
|
||||
$date_end,
|
||||
$product_type,
|
||||
$lines[$i]->rang,
|
||||
$lines[$i]->special_code,
|
||||
$fk_parent_line,
|
||||
$lines[$i]->fk_fournprice,
|
||||
$lines[$i]->pa_ht,
|
||||
$label,
|
||||
$array_option
|
||||
);
|
||||
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
break;
|
||||
}
|
||||
|
||||
// Defined the new fk_parent_line
|
||||
if ($result > 0 && $lines[$i]->product_type == 9) {
|
||||
$fk_parent_line = $result;
|
||||
}
|
||||
// Hooks
|
||||
$parameters=array('objFrom'=>$srcobject);
|
||||
$reshook=$hookmanager->executeHooks('createFrom',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
||||
if ($reshook < 0) $error++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg=$srcobject->error;
|
||||
$error++;
|
||||
}
|
||||
|
||||
// Hooks
|
||||
$parameters=array('objFrom'=>$srcobject);
|
||||
$reshook=$hookmanager->executeHooks('createFrom',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
||||
if ($reshook < 0) $error++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg=$srcobject->error;
|
||||
$mesg=$object->error;
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg=$object->error;
|
||||
$error++;
|
||||
// Required extrafield left blank, error message already defined by setOptionalsFromPost()
|
||||
$action='create';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Fill array 'array_options' with data from add form
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
if($ret < 0)
|
||||
$error++;
|
||||
|
||||
$object_id = $object->create($user);
|
||||
if(!$error) {
|
||||
$object_id = $object->create($user);
|
||||
|
||||
// If some invoice's lines already known
|
||||
$NBLINES=8;
|
||||
for ($i = 1 ; $i <= $NBLINES ; $i++)
|
||||
{
|
||||
if ($_POST['idprod'.$i])
|
||||
// If some invoice's lines already known
|
||||
$NBLINES=8;
|
||||
for ($i = 1 ; $i <= $NBLINES ; $i++)
|
||||
{
|
||||
$xid = 'idprod'.$i;
|
||||
$xqty = 'qty'.$i;
|
||||
$xremise = 'remise_percent'.$i;
|
||||
$object->add_product($_POST[$xid],$_POST[$xqty],$_POST[$xremise]);
|
||||
if ($_POST['idprod'.$i])
|
||||
{
|
||||
$xid = 'idprod'.$i;
|
||||
$xqty = 'qty'.$i;
|
||||
$xremise = 'remise_percent'.$i;
|
||||
$object->add_product($_POST[$xid],$_POST[$xqty],$_POST[$xremise]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1167,23 +1180,32 @@ else if ($action == 'update_extras')
|
|||
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
|
||||
// Actions on extra fields (by external module or standard code)
|
||||
// FIXME le hook fait double emploi avec le trigger !!
|
||||
$hookmanager->initHooks(array('orderdao'));
|
||||
$parameters=array('id'=>$object->id);
|
||||
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
if (empty($reshook))
|
||||
{
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||
if($ret < 0)
|
||||
$error++;
|
||||
|
||||
if(!$error) {
|
||||
// Actions on extra fields (by external module or standard code)
|
||||
// FIXME le hook fait double emploi avec le trigger !!
|
||||
$hookmanager->initHooks(array('orderdao'));
|
||||
$parameters=array('id'=>$object->id);
|
||||
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
if (empty($reshook))
|
||||
{
|
||||
$result=$object->insertExtraFields();
|
||||
if ($result < 0)
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||
{
|
||||
$error++;
|
||||
$result=$object->insertExtraFields();
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ($reshook < 0) $error++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$action = 'edit_extras';
|
||||
}
|
||||
else if ($reshook < 0) $error++;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1372,7 +1394,7 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
|
|||
}
|
||||
}
|
||||
|
||||
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->commande->creer)
|
||||
if (! $error && ! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->commande->creer)
|
||||
{
|
||||
if ($action == 'addcontact')
|
||||
{
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
|
|||
print '</td></tr>';
|
||||
// User
|
||||
print '<tr><td align="left">'.$langs->trans("CreatedBy").'</td><td align="left">';
|
||||
print $form->select_users($userid,'userid',1);
|
||||
print $form->select_dolusers($userid,'userid',1);
|
||||
print '</td></tr>';
|
||||
// Year
|
||||
print '<tr><td align="left">'.$langs->trans("Year").'</td><td align="left">';
|
||||
|
|
|
|||
|
|
@ -280,7 +280,7 @@ if ($action == 'create')
|
|||
|
||||
print "<tr>";
|
||||
print '<td class="fieldrequired">'.$langs->trans("Person").'</td><td>';
|
||||
print $form->select_users(GETPOST('fk_user','int'),'fk_user',1);
|
||||
print $form->select_dolusers(GETPOST('fk_user','int'),'fk_user',1);
|
||||
print '</td></tr>';
|
||||
|
||||
print "<tr>";
|
||||
|
|
@ -375,7 +375,7 @@ else if ($id)
|
|||
// Who
|
||||
print "<tr>";
|
||||
print '<td class="fieldrequired">'.$langs->trans("Person").'</td><td>';
|
||||
print $form->select_users(GETPOST('fk_user','int')?GETPOST('fk_user','int'):$object->fk_user,'fk_user',0);
|
||||
print $form->select_dolusers(GETPOST('fk_user','int')?GETPOST('fk_user','int'):$object->fk_user,'fk_user',0);
|
||||
print '</td></tr>';
|
||||
|
||||
// Date
|
||||
|
|
|
|||
|
|
@ -220,7 +220,7 @@ print $form->select_company($socid,'socid',$filter,1,1);
|
|||
print '</td></tr>';
|
||||
// User
|
||||
print '<tr><td>'.$langs->trans("User").'/'.$langs->trans("SalesRepresentative").'</td><td>';
|
||||
print $form->select_users($userid,'userid',1);
|
||||
print $form->select_dolusers($userid,'userid',1);
|
||||
print '</td></tr>';
|
||||
// Year
|
||||
print '<tr><td>'.$langs->trans("Year").'</td><td>';
|
||||
|
|
|
|||
|
|
@ -661,7 +661,8 @@ else if ($action == 'add' && $user->rights->facture->creer)
|
|||
// Fill array 'array_options' with data from add form
|
||||
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
|
||||
if($ret < 0)
|
||||
$error++;
|
||||
|
||||
// Replacement invoice
|
||||
if ($_POST['type'] == 1)
|
||||
|
|
@ -1906,24 +1907,32 @@ if ($action == 'update_extras')
|
|||
// Fill array 'array_options' with data from add form
|
||||
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
if($ret < 0)
|
||||
$error++;
|
||||
|
||||
// Actions on extra fields (by external module or standard code)
|
||||
// FIXME le hook fait double emploi avec le trigger !!
|
||||
$hookmanager->initHooks(array('invoicedao'));
|
||||
$parameters=array('id'=>$object->id);
|
||||
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
if (empty($reshook))
|
||||
{
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||
if(!$error) {
|
||||
// Actions on extra fields (by external module or standard code)
|
||||
// FIXME le hook fait double emploi avec le trigger !!
|
||||
$hookmanager->initHooks(array('invoicedao'));
|
||||
$parameters=array('id'=>$object->id);
|
||||
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
if (empty($reshook))
|
||||
{
|
||||
$result=$object->insertExtraFields();
|
||||
if ($result < 0)
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||
{
|
||||
$error++;
|
||||
$result=$object->insertExtraFields();
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ($reshook < 0) $error++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$action = 'edit_extras';
|
||||
}
|
||||
else if ($reshook < 0) $error++;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
|
|||
print '</td></tr>';
|
||||
// User
|
||||
print '<tr><td>'.$langs->trans("CreatedBy").'</td><td>';
|
||||
print $form->select_users($userid,'userid',1);
|
||||
print $form->select_dolusers($userid,'userid',1);
|
||||
print '</td></tr>';
|
||||
// Year
|
||||
print '<tr><td>'.$langs->trans("Year").'</td><td>';
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ if ($resql)
|
|||
// Expected to pay
|
||||
print '<td align="right">'.price($objp->sc_amount).'</td>';
|
||||
// Status
|
||||
print '<td align="center">'.$socialcontrib->LibStatut($objp->fk_statut,2).'</td>';
|
||||
print '<td align="center">'.$socialcontrib->getLibStatut(4).'</td>';
|
||||
// Amount payed
|
||||
print '<td align="right">'.price($objp->amount).'</td>';
|
||||
print "</tr>\n";
|
||||
|
|
|
|||
|
|
@ -850,12 +850,12 @@ if ($action == 'create')
|
|||
|
||||
// Commercial suivi
|
||||
print '<tr><td width="20%" nowrap><span class="fieldrequired">'.$langs->trans("TypeContact_contrat_internal_SALESREPFOLL").'</span></td><td>';
|
||||
print $form->select_users(GETPOST("commercial_suivi_id")?GETPOST("commercial_suivi_id"):$user->id,'commercial_suivi_id',1,'');
|
||||
print $form->select_dolusers(GETPOST("commercial_suivi_id")?GETPOST("commercial_suivi_id"):$user->id,'commercial_suivi_id',1,'');
|
||||
print '</td></tr>';
|
||||
|
||||
// Commercial signature
|
||||
print '<tr><td width="20%" nowrap><span class="fieldrequired">'.$langs->trans("TypeContact_contrat_internal_SALESREPSIGN").'</span></td><td>';
|
||||
print $form->select_users(GETPOST("commercial_signature_id")?GETPOST("commercial_signature_id"):$user->id,'commercial_signature_id',1,'');
|
||||
print $form->select_dolusers(GETPOST("commercial_signature_id")?GETPOST("commercial_signature_id"):$user->id,'commercial_signature_id',1,'');
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr><td><span class="fieldrequired">'.$langs->trans("Date").'</span></td><td>';
|
||||
|
|
|
|||
|
|
@ -2254,6 +2254,10 @@ abstract class CommonObject
|
|||
{
|
||||
$value = isset($_POST["options_".$key])?dol_mktime($_POST["options_".$key."hour"], $_POST["options_".$key."min"], 0, $_POST["options_".$key."month"], $_POST["options_".$key."day"], $_POST["options_".$key."year"]):$this->db->jdate($this->array_options['options_'.$key]);
|
||||
}
|
||||
|
||||
if($extrafields->attribute_required[$key])
|
||||
$label = '<span class="fieldrequired">'.$label.'</span>';
|
||||
|
||||
$out .= '<td>'.$label.'</td>';
|
||||
$out .='<td colspan="'.$colspan.'">';
|
||||
|
||||
|
|
|
|||
|
|
@ -23,13 +23,13 @@
|
|||
|
||||
/**
|
||||
* \file htdocs/core/class/extrafields.class.php
|
||||
* \ingroup core
|
||||
* \brief File of class to manage extra fields
|
||||
*/
|
||||
* \ingroup core
|
||||
* \brief File of class to manage extra fields
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class to manage standard extra fields
|
||||
*/
|
||||
*/
|
||||
class ExtraFields
|
||||
{
|
||||
var $db;
|
||||
|
|
@ -683,16 +683,18 @@ class ExtraFields
|
|||
}
|
||||
elseif ($type == 'sellist')
|
||||
{
|
||||
|
||||
$out='<select class="flat" name="options_'.$key.'">';
|
||||
$param_list=array_keys($param['options']);
|
||||
$InfoFieldList = explode(":", $param_list[0]);
|
||||
if (is_array($param['options'])) {
|
||||
$param_list=array_keys($param['options']);
|
||||
$InfoFieldList = explode(":", $param_list[0]);
|
||||
|
||||
// 0 1 : tableName
|
||||
// 1 2 : label field name Nom du champ contenant le libelle
|
||||
// 2 3 : key fields name (if differ of rowid)
|
||||
// 3 4 : key field parent (for dependent lists)
|
||||
// 0 1 : tableName
|
||||
// 1 2 : label field name Nom du champ contenant le libelle
|
||||
// 2 3 : key fields name (if differ of rowid)
|
||||
// 3 4 : key field parent (for dependent lists)
|
||||
|
||||
$keyList='rowid';
|
||||
$keyList='rowid';
|
||||
|
||||
if (count($InfoFieldList)>=3)
|
||||
$keyList=$InfoFieldList[2].' as rowid';
|
||||
|
|
@ -717,17 +719,15 @@ class ExtraFields
|
|||
$sql.= ' FROM '.MAIN_DB_PREFIX .$InfoFieldList[0];
|
||||
//$sql.= ' WHERE entity = '.$conf->entity;
|
||||
|
||||
dol_syslog(get_class($this).'::showInputField type=sellist sql='.$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
dol_syslog(get_class($this).'::showInputField type=sellist sql='.$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
if ($resql)
|
||||
{
|
||||
$out.='<option value="0"> </option>';
|
||||
$num = $this->db->num_rows($resql);
|
||||
$i = 0;
|
||||
if ($num)
|
||||
if ($resql)
|
||||
{
|
||||
while ($i < $num)
|
||||
$out.='<option value="0"> </option>';
|
||||
$num = $this->db->num_rows($resql);
|
||||
$i = 0;
|
||||
if ($num)
|
||||
{
|
||||
$labeltoshow='';
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
|
@ -785,8 +785,8 @@ class ExtraFields
|
|||
$i++;
|
||||
}
|
||||
}
|
||||
$this->db->free();
|
||||
}
|
||||
$this->db->free();
|
||||
}
|
||||
$out.='</select>';
|
||||
}
|
||||
|
|
@ -993,7 +993,9 @@ class ExtraFields
|
|||
*/
|
||||
function setOptionalsFromPost($extralabels,&$object)
|
||||
{
|
||||
global $_POST;
|
||||
global $_POST, $langs;
|
||||
$nofillrequired='';// For error when required field left blank
|
||||
$error_field_required = array();
|
||||
|
||||
if (is_array($extralabels))
|
||||
{
|
||||
|
|
@ -1001,6 +1003,11 @@ class ExtraFields
|
|||
foreach ($extralabels as $key => $value)
|
||||
{
|
||||
$key_type = $this->attribute_type[$key];
|
||||
if($this->attribute_required[$key] && !GETPOST("options_$key",2))
|
||||
{
|
||||
$nofillrequired++;
|
||||
$error_field_required[] = $value;
|
||||
}
|
||||
|
||||
if (in_array($key_type,array('date','datetime')))
|
||||
{
|
||||
|
|
@ -1028,7 +1035,14 @@ class ExtraFields
|
|||
$object->array_options["options_".$key]=$value_key;
|
||||
}
|
||||
|
||||
return 1;
|
||||
if($nofillrequired) {
|
||||
$langs->load('errors');
|
||||
setEventMessage($langs->trans('ErrorFieldsRequired').' : '.implode(', ',$error_field_required),'errors');
|
||||
return -1;
|
||||
}
|
||||
else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
|
|
@ -1080,4 +1094,4 @@ class ExtraFields
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1061,6 +1061,7 @@ class Form
|
|||
* @param int $enableonly Array list of users id to be enabled. All other must be disabled
|
||||
* @param int $force_entity 0 or Id of environment to force
|
||||
* @return void
|
||||
* @deprecated
|
||||
*/
|
||||
function select_users($selected='',$htmlname='userid',$show_empty=0,$exclude='',$disabled=0,$include='',$enableonly='',$force_entity=0)
|
||||
{
|
||||
|
|
@ -1079,9 +1080,10 @@ class Form
|
|||
* @param array $enableonly Array list of users id to be enabled. All other must be disabled
|
||||
* @param int $force_entity 0 or Id of environment to force
|
||||
* @param int $maxlength Maximum length of string into list (0=no limit)
|
||||
* @param int $showstatus Show user status into label
|
||||
* @return string HTML select string
|
||||
*/
|
||||
function select_dolusers($selected='', $htmlname='userid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity=0, $maxlength=0)
|
||||
function select_dolusers($selected='', $htmlname='userid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity=0, $maxlength=0, $showstatus=0)
|
||||
{
|
||||
global $conf,$user,$langs;
|
||||
|
||||
|
|
@ -1142,7 +1144,7 @@ class Form
|
|||
while ($i < $num)
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
|
||||
$userstatic->id=$obj->rowid;
|
||||
$userstatic->lastname=$obj->lastname;
|
||||
$userstatic->firstname=$obj->firstname;
|
||||
|
|
@ -1164,13 +1166,10 @@ class Form
|
|||
}
|
||||
|
||||
$out.= $userstatic->getFullName($langs, 0, 0, $maxlength);
|
||||
if ($obj->statut == 1)
|
||||
if ($showstatus)
|
||||
{
|
||||
$out.=" (".$langs->trans('Enabled').' '.img_picto($langs->trans('Enabled'),'statut4').")";
|
||||
}
|
||||
else
|
||||
{
|
||||
$out.=" (".$langs->trans('Disabled').' '.img_picto($langs->trans('Disabled'),'statut5').")";
|
||||
if ($obj->statut == 1) $out.=" (".$langs->trans('Enabled').' '.img_picto($langs->trans('Enabled'),'statut4').")";
|
||||
else $out.=" (".$langs->trans('Disabled').' '.img_picto($langs->trans('Disabled'),'statut5').")";
|
||||
}
|
||||
|
||||
if (! empty($conf->multicompany->enabled) && empty($conf->multicompany->transverse_mode) && $conf->entity == 1 && $user->admin && ! $user->entity)
|
||||
|
|
@ -1182,7 +1181,7 @@ class Form
|
|||
//if ($obj->admin) $out.= ' *';
|
||||
if (! empty($conf->global->MAIN_SHOW_LOGIN)) $out.= ' ('.$obj->login.')';
|
||||
$out.= '</option>';
|
||||
|
||||
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -347,9 +347,10 @@ class FormOther
|
|||
* @param string $selected Preselected value
|
||||
* @param string $htmlname Name of combo list (example: 'search_sale')
|
||||
* @param User $user Object user
|
||||
* @param int $showstatus Show user status into label
|
||||
* @return string Html combo list code
|
||||
*/
|
||||
function select_salesrepresentatives($selected,$htmlname,$user)
|
||||
function select_salesrepresentatives($selected,$htmlname,$user,$showstatus=0)
|
||||
{
|
||||
global $conf,$langs;
|
||||
$langs->load('users');
|
||||
|
|
@ -385,13 +386,11 @@ class FormOther
|
|||
if ($obj_usr->rowid == $selected) $moreforfilter.=' selected="selected"';
|
||||
|
||||
$moreforfilter.='>';
|
||||
if ($obj_usr->statut == 1)
|
||||
{
|
||||
$moreforfilter.=$obj_usr->firstname." ".$obj_usr->name." (".$obj_usr->login.')'." ". img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled');
|
||||
}
|
||||
else
|
||||
{
|
||||
$moreforfilter.=$obj_usr->firstname." ".$obj_usr->name." (".$obj_usr->login.')'." ". img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled');
|
||||
$moreforfilter.=dolGetFirstLastname($obj_usr->firstname,$obj_usr->name)." (".$obj_usr->login.')';
|
||||
if ($showstatus)
|
||||
{
|
||||
if ($obj_usr->statut == 1) $moreforfilter.=" ". img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled');
|
||||
else $moreforfilter.=" ". img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled');
|
||||
}
|
||||
$moreforfilter.='</option>';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -787,6 +787,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
|||
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
|
||||
}
|
||||
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -132,12 +132,12 @@ if ($resql)
|
|||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"cf.ref","","",'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","",'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Author"),$_SERVER["PHP_SELF"],"u.login","","",'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"total_ttc","","",'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"dc","","",'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"cf.fk_statut","","",'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"cf.ref","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Author"),$_SERVER["PHP_SELF"],"u.login","",$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"total_ttc","",$param,$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"dc","",$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"cf.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ if($cp_events == 1)
|
|||
print $langs->trans('MotifCP').' : ';
|
||||
print $holiday->selectEventCP();
|
||||
print ' '.$langs->trans('UserCP').' : ';
|
||||
print $form->select_users('',"userCP",1,"",0,'');
|
||||
print $form->select_dolusers('',"userCP",1,"",0,'');
|
||||
print ' <input type="submit" value="'.$langs->trans("addEventToUserCP").'" name="bouton" class="button"/>';
|
||||
|
||||
print '</form><br>';
|
||||
|
|
|
|||
|
|
@ -299,7 +299,7 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->socie
|
|||
print '</td></tr>';
|
||||
|
||||
print '<tr><td>'.$langs->trans("AffectedTo").'</td><td>';
|
||||
print $form->select_users($user->id,'userid',1);
|
||||
print $form->select_dolusers($user->id,'userid',1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Date start
|
||||
|
|
|
|||
|
|
@ -323,7 +323,7 @@ if ($id > 0 || ! empty($ref))
|
|||
print '<td class="nowrap">';
|
||||
$contactoftask=$object->getListContactId('internal');
|
||||
print img_object('','user');
|
||||
print $form->select_users($_POST["userid"]?$_POST["userid"]:$user->id,'userid',0,'',0,'',$contactoftask);
|
||||
print $form->select_dolusers($_POST["userid"]?$_POST["userid"]:$user->id,'userid',0,'',0,'',$contactoftask);
|
||||
print '</td>';
|
||||
|
||||
// Note
|
||||
|
|
@ -412,7 +412,7 @@ if ($id > 0 || ! empty($ref))
|
|||
print '<td>';
|
||||
if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid)
|
||||
{
|
||||
print $form->select_users($task_time->fk_user,'userid_line');
|
||||
print $form->select_dolusers($task_time->fk_user,'userid_line');
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user