Merge branch 'develop' into dev_projecthtmlform
This commit is contained in:
commit
f2e2815cc1
@ -23,6 +23,7 @@ For users:
|
||||
- New: [ task #926 ] Add extrafield feature on order lines
|
||||
- New: [ task #927 ] Add extrafield feature on Proposal lines
|
||||
- New: [ task #928 ] Add extrafield feature on invoice lines
|
||||
- New: Add option ADHERENT_LOGIN_NOT_REQUIRED
|
||||
|
||||
For translators:
|
||||
- Normalized sort order of all languages files with english ref file.
|
||||
|
||||
@ -130,20 +130,17 @@ $var=true;
|
||||
$form = new Form($db);
|
||||
|
||||
// Login/Pass required for members
|
||||
if ($conf->global->MAIN_FEATURES_LEVEL > 0)
|
||||
{
|
||||
$var=!$var;
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="update">';
|
||||
print '<input type="hidden" name="constname" value="ADHERENT_LOGIN_NOT_REQUIRED">';
|
||||
print '<tr '.$bc[$var].'><td>'.$langs->trans("AdherentLoginRequired").'</td><td>';
|
||||
print $form->selectyesno('constvalue',(! empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)?$conf->global->ADHERENT_LOGIN_NOT_REQUIRED:1),1);
|
||||
print '</td><td align="center" width="80">';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
|
||||
print "</td></tr>\n";
|
||||
print '</form>';
|
||||
}
|
||||
$var=!$var;
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="update">';
|
||||
print '<input type="hidden" name="constname" value="ADHERENT_LOGIN_NOT_REQUIRED">';
|
||||
print '<tr '.$bc[$var].'><td>'.$langs->trans("AdherentLoginRequired").'</td><td>';
|
||||
print $form->selectyesno('constvalue',(! empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)?0:1),1);
|
||||
print '</td><td align="center" width="80">';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
|
||||
print "</td></tr>\n";
|
||||
print '</form>';
|
||||
|
||||
// Mail required for members
|
||||
$var=!$var;
|
||||
|
||||
@ -1838,7 +1838,7 @@ else if ($action == 'print_file' AND $user->rights->printipp->read)
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/dolprintipp.class.php';
|
||||
$printer = new dolPrintIPP($db,$conf->global->PRINTIPP_HOST,$conf->global->PRINTIPP_PORT,$user->login,$conf->global->PRINTIPP_USER,$conf->global->PRINTIPP_PASSWORD);
|
||||
$printer->print_file(GETPOST('file',alpha),GETPOST('printer',alpha));
|
||||
$printer->print_file(GETPOST('file','alpha'),GETPOST('printer','alpha'));
|
||||
setEventMessage($langs->trans("FileWasSentToPrinter", GETPOST('file')));
|
||||
$action='';
|
||||
}
|
||||
|
||||
@ -125,8 +125,8 @@ class FactureRec extends Facture
|
||||
$sql.= ", '".$facsrc->socid."'";
|
||||
$sql.= ", ".$conf->entity;
|
||||
$sql.= ", ".$this->db->idate($now);
|
||||
$sql.= ", '".$facsrc->amount."'";
|
||||
$sql.= ", '".$facsrc->remise."'";
|
||||
$sql.= ", ".(!empty($facsrc->amount)?$facsrc->amount:'0');
|
||||
$sql.= ", ".(!empty($facsrc->remise)?$this->remise:'0');
|
||||
$sql.= ", ".(!empty($this->note_private)?("'".$this->db->escape($this->note_private)."'"):"NULL");
|
||||
$sql.= ", ".(!empty($this->note_public)?("'".$this->db->escape($this->note_public)."'"):"NULL");
|
||||
$sql.= ", '".$user->id."'";
|
||||
|
||||
@ -627,11 +627,11 @@ class ExtraFields
|
||||
{
|
||||
$tmp=explode(',',$size);
|
||||
$newsize=$tmp[0];
|
||||
$out='<input type="text" name="options_'.$key.'" size="'.$showsize.'" maxlength="'.$newsize.'" value="'.$value.'"'.($moreparam?$moreparam:'').'>';
|
||||
$out='<input type="text" class="flat" name="options_'.$key.'" size="'.$showsize.'" maxlength="'.$newsize.'" value="'.$value.'"'.($moreparam?$moreparam:'').'>';
|
||||
}
|
||||
elseif ($type == 'varchar')
|
||||
{
|
||||
$out='<input type="text" name="options_'.$key.'" size="'.$showsize.'" maxlength="'.$size.'" value="'.$value.'"'.($moreparam?$moreparam:'').'>';
|
||||
$out='<input type="text" class="flat" name="options_'.$key.'" size="'.$showsize.'" maxlength="'.$size.'" value="'.$value.'"'.($moreparam?$moreparam:'').'>';
|
||||
}
|
||||
elseif ($type == 'text')
|
||||
{
|
||||
@ -647,30 +647,30 @@ class ExtraFields
|
||||
} else {
|
||||
$checked=' value="1" ';
|
||||
}
|
||||
$out='<input type="checkbox" name="options_'.$key.'" '.$checked.' '.($moreparam?$moreparam:'').'>';
|
||||
$out='<input type="checkbox" class="flat" name="options_'.$key.'" '.$checked.' '.($moreparam?$moreparam:'').'>';
|
||||
}
|
||||
elseif ($type == 'mail')
|
||||
{
|
||||
$out='<input type="text" name="options_'.$key.'" size="32" value="'.$value.'">';
|
||||
$out='<input type="text" class="flat" name="options_'.$key.'" size="32" value="'.$value.'">';
|
||||
}
|
||||
elseif ($type == 'phone')
|
||||
{
|
||||
$out='<input type="text" name="options_'.$key.'" size="20" value="'.$value.'">';
|
||||
$out='<input type="text" class="flat" name="options_'.$key.'" size="20" value="'.$value.'">';
|
||||
}
|
||||
elseif ($type == 'price')
|
||||
{
|
||||
$out='<input type="text" name="options_'.$key.'" size="6" value="'.price($value).'"> '.$langs->getCurrencySymbol($conf->currency);
|
||||
$out='<input type="text" class="flat" name="options_'.$key.'" size="6" value="'.price($value).'"> '.$langs->getCurrencySymbol($conf->currency);
|
||||
}
|
||||
elseif ($type == 'double')
|
||||
{
|
||||
if (!empty($value)) {
|
||||
$value=price($value);
|
||||
}
|
||||
$out='<input type="text" name="options_'.$key.'" size="6" value="'.$value.'"> ';
|
||||
$out='<input type="text" class="flat" name="options_'.$key.'" size="6" value="'.$value.'"> ';
|
||||
}
|
||||
elseif ($type == 'select')
|
||||
{
|
||||
$out='<select name="options_'.$key.'">';
|
||||
$out='<select class="flat" name="options_'.$key.'">';
|
||||
foreach ($param['options'] as $key=>$val )
|
||||
{
|
||||
$out.='<option value="'.$key.'"';
|
||||
@ -681,7 +681,7 @@ class ExtraFields
|
||||
}
|
||||
elseif ($type == 'sellist')
|
||||
{
|
||||
$out='<select name="options_'.$key.'">';
|
||||
$out='<select class="flat" name="options_'.$key.'">';
|
||||
$param_list=array_keys($param['options']);
|
||||
$InfoFieldList = explode(":", $param_list[0]);
|
||||
|
||||
@ -698,7 +698,7 @@ class ExtraFields
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX .$InfoFieldList[0];
|
||||
//$sql.= ' WHERE entity = '.$conf->entity;
|
||||
|
||||
dol_syslog(get_class($this).':showInputField:$type=sellist sql='.$sql);
|
||||
dol_syslog(get_class($this).'::showInputField type=sellist sql='.$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
if ($resql)
|
||||
@ -741,7 +741,7 @@ class ExtraFields
|
||||
foreach ($param['options'] as $keyopt=>$val )
|
||||
{
|
||||
|
||||
$out.='<input type="checkbox" name="options_'.$key.'[]"';
|
||||
$out.='<input class="flat" type="checkbox" name="options_'.$key.'[]"';
|
||||
$out.=' value="'.$keyopt.'"';
|
||||
|
||||
if ((is_array($value_arr)) && in_array($keyopt,$value_arr)) {
|
||||
@ -758,7 +758,7 @@ class ExtraFields
|
||||
$out='';
|
||||
foreach ($param['options'] as $keyopt=>$val )
|
||||
{
|
||||
$out.='<input type="radio" name="options_'.$key.'"';
|
||||
$out.='<input class="flat" type="radio" name="options_'.$key.'"';
|
||||
$out.=' value="'.$keyopt.'"';
|
||||
$out.= ($value==$keyopt?'checked="checked"':'');
|
||||
$out.='/>'.$val.'<br>';
|
||||
@ -842,7 +842,6 @@ class ExtraFields
|
||||
if (count($InfoFieldList)==3)
|
||||
$keyList=$InfoFieldList[2];
|
||||
|
||||
|
||||
$sql = 'SELECT '.$InfoFieldList[1];
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX .$InfoFieldList[0];
|
||||
$sql.= ' WHERE '.$keyList.'=\''.$this->db->escape($value).'\'';
|
||||
|
||||
@ -2040,15 +2040,16 @@ function img_up($alt = 'default', $selected = 0)
|
||||
*
|
||||
* @param string $alt Text to show on alt image
|
||||
* @param int $selected Selected
|
||||
* @param string $options Add more attribute on img tag (For example 'style="float: right"')
|
||||
* @return string Return img tag
|
||||
*/
|
||||
function img_left($alt = 'default', $selected = 0)
|
||||
function img_left($alt = 'default', $selected = 0, $options='')
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
if ($alt == 'default') $alt = $langs->trans('Left');
|
||||
|
||||
return img_picto($alt, ($selected ? '1leftarrow_selected.png' : '1leftarrow.png'));
|
||||
return img_picto($alt, ($selected ? '1leftarrow_selected.png' : '1leftarrow.png'), $options);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2056,15 +2057,16 @@ function img_left($alt = 'default', $selected = 0)
|
||||
*
|
||||
* @param string $alt Text to show on alt image
|
||||
* @param int $selected Selected
|
||||
* @param string $options Add more attribute on img tag (For example 'style="float: right"')
|
||||
* @return string Return img tag
|
||||
*/
|
||||
function img_right($alt = 'default', $selected = 0)
|
||||
function img_right($alt = 'default', $selected = 0, $options='')
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
if ($alt == 'default') $alt = $langs->trans('Right');
|
||||
|
||||
return img_picto($alt, ($selected ? '1rightarrow_selected.png' : '1rightarrow.png'));
|
||||
return img_picto($alt, ($selected ? '1rightarrow_selected.png' : '1rightarrow.png'), $options);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -301,7 +301,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
|
||||
// Show menu
|
||||
if (empty($noout))
|
||||
{
|
||||
$alt=0;
|
||||
$alt=0; $blockvmenuopened=false;
|
||||
$num=count($menu_array);
|
||||
for ($i = 0; $i < $num; $i++)
|
||||
{
|
||||
@ -311,6 +311,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
|
||||
$alt++;
|
||||
if (empty($menu_array[$i]['level']) && $showmenu)
|
||||
{
|
||||
$blockvmenuopened=true;
|
||||
if (($alt%2==0))
|
||||
{
|
||||
print '<div class="blockvmenuimpair">'."\n";
|
||||
@ -344,8 +345,8 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
|
||||
$url.='mainmenu='.$mainmenu;
|
||||
}
|
||||
|
||||
print '<!-- Add menu entry with mainmenu='.$menu_array[$i]['mainmenu'].', leftmenu='.$menu_array[$i]['leftmenu'].', level='.$menu_array[$i]['level'].' -->'."\n";
|
||||
|
||||
print '<!-- Process menu entry with mainmenu='.$menu_array[$i]['mainmenu'].', leftmenu='.$menu_array[$i]['leftmenu'].', level='.$menu_array[$i]['level'].' enabled='.$menu_array[$i]['enabled'].' -->'."\n";
|
||||
|
||||
// Menu niveau 0
|
||||
if ($menu_array[$i]['level'] == 0)
|
||||
{
|
||||
@ -379,12 +380,12 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
|
||||
}
|
||||
}
|
||||
|
||||
// If next is a new block or end
|
||||
// If next is a new block or if there is nothing after
|
||||
if (empty($menu_array[$i+1]['level']))
|
||||
{
|
||||
if ($showmenu)
|
||||
print '<div class="menu_end"></div>'."\n";
|
||||
print "</div>\n";
|
||||
if ($blockvmenuopened) { print "</div>\n"; $blockvmenuopened=false; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1269,7 +1269,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
// Show menu
|
||||
if (empty($noout))
|
||||
{
|
||||
$alt=0;
|
||||
$alt=0; $blockvmenuopened=false;
|
||||
$num=count($menu_array);
|
||||
for ($i = 0; $i < $num; $i++)
|
||||
{
|
||||
@ -1279,6 +1279,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
$alt++;
|
||||
if (empty($menu_array[$i]['level']) && $showmenu)
|
||||
{
|
||||
$blockvmenuopened=true;
|
||||
if (($alt%2==0))
|
||||
{
|
||||
print '<div class="blockvmenuimpair">'."\n";
|
||||
@ -1305,7 +1306,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
$url=preg_replace('/__LOGIN__/',$user->login,$url);
|
||||
$url=preg_replace('/__USERID__/',$user->id,$url);
|
||||
|
||||
print '<!-- Add menu entry with mainmenu='.$menu_array[$i]['mainmenu'].', leftmenu='.$menu_array[$i]['leftmenu'].', level='.$menu_array[$i]['level'].' -->'."\n";
|
||||
print '<!-- Process menu entry with mainmenu='.$menu_array[$i]['mainmenu'].', leftmenu='.$menu_array[$i]['leftmenu'].', level='.$menu_array[$i]['level'].' enabled='.$menu_array[$i]['enabled'].' -->'."\n";
|
||||
|
||||
// Menu niveau 0
|
||||
if ($menu_array[$i]['level'] == 0)
|
||||
@ -1340,12 +1341,12 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
}
|
||||
}
|
||||
|
||||
// If next is a new block or end
|
||||
// If next is a new block or if there is nothing after
|
||||
if (empty($menu_array[$i+1]['level']))
|
||||
{
|
||||
if ($showmenu)
|
||||
print '<div class="menu_end"></div>'."\n";
|
||||
print "</div>\n";
|
||||
if ($blockvmenuopened) { print "</div>\n"; $blockvmenuopened=false; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ class modAdherent extends DolibarrModules
|
||||
function __construct($db)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
|
||||
$this->db = $db;
|
||||
$this->numero = 310;
|
||||
|
||||
@ -179,7 +179,7 @@ class modAdherent extends DolibarrModules
|
||||
$this->export_TypeFields_array[$r]=array('a.civilite'=>"Text",'a.lastname'=>"Text",'a.firstname'=>"Text",'a.login'=>"Text",'a.morphy'=>'Text','a.societe'=>'Text','a.address'=>"Text",'a.zip'=>"Text",'a.town'=>"Text",'a.country'=>"Text",'a.phone'=>"Text",'a.phone_perso'=>"Text",'a.phone_mobile'=>"Text",'a.email'=>"Text",'a.birth'=>"Date",'a.statut'=>"Status",'a.note'=>"Text",'a.datec'=>'Date','a.datevalid'=>'Date','a.tms'=>'Date','a.datefin'=>'Date','ta.rowid'=>'List:fk_adherent_type:libelle','ta.libelle'=>'Text','c.dateadh'=>'Date','c.cotisation'=>'Number');
|
||||
$this->export_entities_array[$r]=array('a.rowid'=>'member','a.civilite'=>"member",'a.lastname'=>"member",'a.firstname'=>"member",'a.login'=>"member",'a.morphy'=>'member','a.societe'=>'member','a.address'=>"member",'a.zip'=>"member",'a.town'=>"member",'a.country'=>"member",'a.phone'=>"member",'a.phone_perso'=>"member",'a.phone_mobile'=>"member",'a.email'=>"member",'a.birth'=>"member",'a.statut'=>"member",'a.photo'=>"member",'a.note'=>"member",'a.datec'=>'member','a.datevalid'=>'member','a.tms'=>'member','a.datefin'=>'member','ta.rowid'=>'member_type','ta.libelle'=>'member_type','c.rowid'=>'subscription','c.dateadh'=>'subscription','c.cotisation'=>'subscription');
|
||||
// Add extra fields
|
||||
$sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'member' AND entity = ".$conf->entity;
|
||||
$sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'adherent' AND entity = ".$conf->entity;
|
||||
$resql=$this->db->query($sql);
|
||||
while ($obj=$this->db->fetch_object($resql))
|
||||
{
|
||||
@ -212,7 +212,7 @@ class modAdherent extends DolibarrModules
|
||||
$this->import_tables_creator_array[$r]=array('a'=>'fk_user_author'); // Fields to store import user id
|
||||
$this->import_fields_array[$r]=array('a.civilite'=>"UserTitle",'a.lastname'=>"Lastname*",'a.firstname'=>"Firstname",'a.login'=>"Login*","a.pass"=>"Password","a.fk_adherent_type"=>"MemberType*",'a.morphy'=>'Nature*','a.societe'=>'Company','a.address'=>"Address",'a.zip'=>"Zip",'a.town'=>"Town",'a.country'=>"Country",'a.phone'=>"PhonePro",'a.phone_perso'=>"PhonePerso",'a.phone_mobile'=>"PhoneMobile",'a.email'=>"Email",'a.birth'=>"Birthday",'a.statut'=>"Status*",'a.photo'=>"Photo",'a.note'=>"Note",'a.datec'=>'DateCreation','a.datefin'=>'DateEndSubscription');
|
||||
// Add extra fields
|
||||
$sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'member' AND entity = ".$conf->entity;
|
||||
$sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'adherent' AND entity = ".$conf->entity;
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql) // This can fail when class is used on old database (during migration for example)
|
||||
{
|
||||
|
||||
@ -267,33 +267,33 @@ class modSociete extends DolibarrModules
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql) // This can fail when class is used on old database (during migration for example)
|
||||
{
|
||||
while ($obj=$this->db->fetch_object($resql))
|
||||
{
|
||||
$fieldname='extra.'.$obj->name;
|
||||
$fieldlabel=ucfirst($obj->label);
|
||||
$typeFilter="Text";
|
||||
switch($obj->type)
|
||||
{
|
||||
case 'int':
|
||||
case 'double':
|
||||
case 'price':
|
||||
$typeFilter="Numeric";
|
||||
break;
|
||||
case 'date':
|
||||
case 'datetime':
|
||||
$typeFilter="Date";
|
||||
break;
|
||||
case 'boolean':
|
||||
$typeFilter="Boolean";
|
||||
break;
|
||||
case 'sellist':
|
||||
$typeFilter="List:".$obj->param;
|
||||
break;
|
||||
}
|
||||
$this->export_fields_array[$r][$fieldname]=$fieldlabel;
|
||||
$this->export_TypeFields_array[$r][$fieldname]=$typeFilter;
|
||||
$this->export_entities_array[$r][$fieldname]='company';
|
||||
}
|
||||
while ($obj=$this->db->fetch_object($resql))
|
||||
{
|
||||
$fieldname='extra.'.$obj->name;
|
||||
$fieldlabel=ucfirst($obj->label);
|
||||
$typeFilter="Text";
|
||||
switch($obj->type)
|
||||
{
|
||||
case 'int':
|
||||
case 'double':
|
||||
case 'price':
|
||||
$typeFilter="Numeric";
|
||||
break;
|
||||
case 'date':
|
||||
case 'datetime':
|
||||
$typeFilter="Date";
|
||||
break;
|
||||
case 'boolean':
|
||||
$typeFilter="Boolean";
|
||||
break;
|
||||
case 'sellist':
|
||||
$typeFilter="List:".$obj->param;
|
||||
break;
|
||||
}
|
||||
$this->export_fields_array[$r][$fieldname]=$fieldlabel;
|
||||
$this->export_TypeFields_array[$r][$fieldname]=$typeFilter;
|
||||
$this->export_entities_array[$r][$fieldname]='company';
|
||||
}
|
||||
}
|
||||
// End add axtra fields
|
||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||
|
||||
@ -61,12 +61,14 @@ if((($type == 'select') || ($type == 'checkbox') ||(($type == 'radio'))) && is_a
|
||||
$param_chain = '';
|
||||
foreach ($param['options'] as $key => $value)
|
||||
{
|
||||
if(strlen($key))
|
||||
if(strlen($key))
|
||||
{
|
||||
$param_chain .= $key.', '.$value."\n";
|
||||
$param_chain .= $key.','.$value."\n";
|
||||
}
|
||||
}
|
||||
}elseif ($type== 'sellist') {
|
||||
}
|
||||
elseif ($type== 'sellist')
|
||||
{
|
||||
$paramlist=array_keys($param['options']);
|
||||
$param_chain = $paramlist[0];
|
||||
}
|
||||
@ -83,8 +85,8 @@ if((($type == 'select') || ($type == 'checkbox') ||(($type == 'radio'))) && is_a
|
||||
<input type="hidden" name="type" id="type" value="<?php print $type; ?>">
|
||||
</td></tr>
|
||||
<!-- Value (for select list / radio) -->
|
||||
<?php
|
||||
if(($type == 'select') || ($type == 'sellist') || ($type == 'checkbox') ||(($type == 'radio')))
|
||||
<?php
|
||||
if(($type == 'select') || ($type == 'sellist') || ($type == 'checkbox') ||(($type == 'radio')))
|
||||
{
|
||||
?>
|
||||
<tr id="value_choice">
|
||||
@ -99,7 +101,7 @@ if(($type == 'select') || ($type == 'sellist') || ($type == 'checkbox') ||(($typ
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<!-- Size -->
|
||||
|
||||
@ -558,7 +558,7 @@ if ($step == 2 && $datatoexport)
|
||||
{
|
||||
// Selected fields
|
||||
print '<td> </td>';
|
||||
print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?step=2&datatoexport='.$datatoexport.'&action=unselectfield&field='.$code.'">'.img_left().'</a></td>';
|
||||
print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?step=2&datatoexport='.$datatoexport.'&action=unselectfield&field='.$code.'">'.img_left('default', 0, 'style="max-width: 20px"').'</a></td>';
|
||||
print '<td>';
|
||||
//print $text.'-'.$htmltext."<br>";
|
||||
print $form->textwithpicto($text,$htmltext);
|
||||
@ -573,7 +573,7 @@ if ($step == 2 && $datatoexport)
|
||||
print $form->textwithpicto($text,$htmltext);
|
||||
//print ' ('.$code.')';
|
||||
print '</td>';
|
||||
print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?step=2&datatoexport='.$datatoexport.'&action=selectfield&field='.$code.'">'.img_right().'</a></td>';
|
||||
print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?step=2&datatoexport='.$datatoexport.'&action=selectfield&field='.$code.'">'.img_right('default', 0, 'style="max-width: 20px"').'</a></td>';
|
||||
print '<td> </td>';
|
||||
}
|
||||
|
||||
|
||||
@ -63,3 +63,7 @@ create table llx_propaldet_extrafields
|
||||
ALTER TABLE llx_propaldet_extrafields ADD INDEX idx_propaldet_extrafields (fk_object);
|
||||
|
||||
|
||||
DROP table llx_adherent_options;
|
||||
DROP table llx_adherent_options_label;
|
||||
|
||||
|
||||
|
||||
@ -1452,9 +1452,8 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a
|
||||
|
||||
if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "</div><!-- End top layout -->\n";
|
||||
|
||||
print "<!-- End top horizontal menu -->\n";
|
||||
print "<!-- End top horizontal menu -->\n\n";
|
||||
|
||||
//XXX if (empty($conf->use_javascript_ajax) || empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print '<table width="100%" class="notopnoleftnoright" summary="leftmenutable" id="undertopmenu"><tr>';
|
||||
if (empty($conf->dol_hide_leftmenu) && (empty($conf->use_javascript_ajax) || empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT))) print '<div id="id-container">';
|
||||
}
|
||||
|
||||
@ -1486,7 +1485,6 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me
|
||||
if (empty($conf->dol_hide_leftmenu))
|
||||
{
|
||||
if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "\n".'<div class="ui-layout-west"> <!-- Begin left layout -->'."\n";
|
||||
//XXX else print '<td class="vmenu" valign="top">';
|
||||
else print '<div id="id-left">';
|
||||
|
||||
print "\n";
|
||||
@ -1545,7 +1543,7 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me
|
||||
// Left column
|
||||
print '<!-- Begin left menu -->'."\n";
|
||||
|
||||
print '<div class="vmenu">'."\n";
|
||||
print '<div class="vmenu">'."\n\n";
|
||||
|
||||
$menumanager->menu_array = $menu_array_before;
|
||||
$menumanager->menu_array_after = $menu_array_after;
|
||||
|
||||
@ -82,28 +82,65 @@ if ($action == 'convert')
|
||||
$ret=$objectstatic->fetch($obj->rowid);
|
||||
if ($ret > 0)
|
||||
{
|
||||
$price_base_type = $objectstatic->price_base_type; // Get price_base_type of product/service to keep the same for update
|
||||
if ($price_base_type == 'TTC')
|
||||
$ret=0; $retm=0; $updatelevel1=false;
|
||||
|
||||
// Update multiprice
|
||||
$listofmulti=array_reverse($objectstatic->multiprices, true); // To finish with level 1
|
||||
foreach ($listofmulti as $level => $multiprices)
|
||||
{
|
||||
$newprice=price2num($objectstatic->price_ttc,'MU'); // Second param must be MU (we want a unit price so 'MU'. If unit price was on 4 decimal, we must keep 4 decimals)
|
||||
$newminprice=$objectstatic->price_min_ttc;
|
||||
$price_base_type = $objectstatic->multiprices_base_type[$level]; // Get price_base_type of product/service to keep the same for update
|
||||
if (empty($price_base_type)) continue; // Discard not defined price levels
|
||||
|
||||
if ($price_base_type == 'TTC')
|
||||
{
|
||||
$newprice=price2num($objectstatic->multiprices_ttc[$level],'MU'); // Second param must be MU (we want a unit price so 'MU'. If unit price was on 4 decimal, we must keep 4 decimals)
|
||||
$newminprice=$objectstatic->multiprices_min_ttc[$level];
|
||||
}
|
||||
else
|
||||
{
|
||||
$newprice=price2num($objectstatic->multiprices[$level],'MU'); // Second param must be MU (we want a unit price so 'MU'. If unit price was on 4 decimal, we must keep 4 decimals)
|
||||
$newminprice=$objectstatic->multiprices_min[$level];
|
||||
}
|
||||
if ($newminprice > $newprice) $newminprice=$newprice;
|
||||
$newvat=str_replace('*','',$newvatrate);
|
||||
$newnpr=$objectstatic->multiprices_recuperableonly[$level];
|
||||
$newlevel=$level;
|
||||
|
||||
//print "$objectstatic->id $newprice, $price_base_type, $newvat, $newminprice, $newlevel, $newnpr<br>\n";
|
||||
$retm=$objectstatic->updatePrice($newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr);
|
||||
if ($retm < 0)
|
||||
{
|
||||
$error++;
|
||||
break;
|
||||
}
|
||||
|
||||
if ($newlevel == 1) $updatelevel1=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$newprice=price2num($objectstatic->price,'MU'); // Second param must be MU (we want a unit price so 'MU'. If unit price was on 4 decimal, we must keep 4 decimals)
|
||||
$newminprice=$objectstatic->price_min;
|
||||
}
|
||||
if ($newminprice > $newprice) $newminprice=$newprice;
|
||||
$newvat=str_replace('*','',$newvatrate);
|
||||
$newnpr=$objectstatic->recuperableonly;
|
||||
$newlevel=0;
|
||||
|
||||
$ret=$objectstatic->updatePrice($objectstatic->id, $newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr);
|
||||
if ($ret < 0) $error++;
|
||||
else $nbrecordsmodified++;
|
||||
|
||||
// FIXME Now update all price levels. Call $objectstatic->updatePrice( as many times than exisitng price_level
|
||||
|
||||
// Update single price
|
||||
$price_base_type = $objectstatic->price_base_type; // Get price_base_type of product/service to keep the same for update
|
||||
if ($price_base_type == 'TTC')
|
||||
{
|
||||
$newprice=price2num($objectstatic->price_ttc,'MU'); // Second param must be MU (we want a unit price so 'MU'. If unit price was on 4 decimal, we must keep 4 decimals)
|
||||
$newminprice=$objectstatic->price_min_ttc;
|
||||
}
|
||||
else
|
||||
{
|
||||
$newprice=price2num($objectstatic->price,'MU'); // Second param must be MU (we want a unit price so 'MU'. If unit price was on 4 decimal, we must keep 4 decimals)
|
||||
$newminprice=$objectstatic->price_min;
|
||||
}
|
||||
if ($newminprice > $newprice) $newminprice=$newprice;
|
||||
$newvat=str_replace('*','',$newvatrate);
|
||||
$newnpr=$objectstatic->recuperableonly;
|
||||
$newlevel=0;
|
||||
if (! empty($price_base_type) && ! $updatelevel1)
|
||||
{
|
||||
//print "$objectstatic->id $newprice, $price_base_type, $newvat, $newminprice, $newlevel, $newnpr<br>\n";
|
||||
$ret=$objectstatic->updatePrice($newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr);
|
||||
}
|
||||
|
||||
if ($ret < 0 || $retm < 0) $error++;
|
||||
else $nbrecordsmodified++;
|
||||
}
|
||||
|
||||
$i++;
|
||||
|
||||
@ -63,6 +63,7 @@ class Product extends CommonObject
|
||||
var $multiprices_ttc=array();
|
||||
var $multiprices_base_type=array();
|
||||
var $multiprices_tva_tx=array();
|
||||
var $multiprices_recuperableonly=array();
|
||||
//! Price by quantity arrays
|
||||
var $price_by_qty;
|
||||
var $prices_by_qty=array();
|
||||
@ -227,7 +228,6 @@ class Product extends CommonObject
|
||||
|
||||
if (empty($this->status)) $this->status = 0;
|
||||
if (empty($this->status_buy)) $this->status_buy = 0;
|
||||
if (empty($this->finished)) $this->finished = 0;
|
||||
|
||||
$price_ht=0;
|
||||
$price_ttc=0;
|
||||
@ -317,7 +317,7 @@ class Product extends CommonObject
|
||||
$sql.= ", ".$this->status;
|
||||
$sql.= ", ".$this->status_buy;
|
||||
$sql.= ", '".$this->canvas."'";
|
||||
$sql.= ", ".$this->finished;
|
||||
$sql.= ", ".((! isset($this->finished) || $this->finished < 0)?'null':$this->finished);
|
||||
$sql.= ")";
|
||||
|
||||
dol_syslog(get_class($this)."::Create sql=".$sql);
|
||||
@ -436,7 +436,6 @@ class Product extends CommonObject
|
||||
if (empty($this->localtax1_tx)) $this->localtax1_tx = 0;
|
||||
if (empty($this->localtax2_tx)) $this->localtax2_tx = 0;
|
||||
|
||||
if (empty($this->finished)) $this->finished = 0;
|
||||
if (empty($this->country_id)) $this->country_id = 0;
|
||||
|
||||
$this->accountancy_code_buy = trim($this->accountancy_code_buy);
|
||||
@ -454,7 +453,7 @@ class Product extends CommonObject
|
||||
|
||||
$sql.= ",tosell = " . $this->status;
|
||||
$sql.= ",tobuy = " . $this->status_buy;
|
||||
$sql.= ",finished = " . ($this->finished<0 ? "null" : $this->finished);
|
||||
$sql.= ",finished = " . ((! isset($this->finished) || $this->finished < 0) ? "null" : $this->finished);
|
||||
$sql.= ",weight = " . ($this->weight!='' ? "'".$this->weight."'" : 'null');
|
||||
$sql.= ",weight_units = " . ($this->weight_units!='' ? "'".$this->weight_units."'": 'null');
|
||||
$sql.= ",length = " . ($this->length!='' ? "'".$this->length."'" : 'null');
|
||||
@ -958,7 +957,6 @@ class Product extends CommonObject
|
||||
/**
|
||||
* Modify price of a product/Service
|
||||
*
|
||||
* @param int $id Id of product/service to change
|
||||
* @param double $newprice New price
|
||||
* @param string $newpricebase HT or TTC
|
||||
* @param User $user Object user that make change
|
||||
@ -969,10 +967,12 @@ class Product extends CommonObject
|
||||
* @param int $newpsq 1 if it has price by quantity
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function updatePrice($id, $newprice, $newpricebase, $user, $newvat='',$newminprice='', $level=0, $newnpr=0, $newpsq=0)
|
||||
function updatePrice($newprice, $newpricebase, $user, $newvat='',$newminprice='', $level=0, $newnpr=0, $newpsq=0)
|
||||
{
|
||||
global $conf,$langs;
|
||||
|
||||
$id=$this->id;
|
||||
|
||||
dol_syslog(get_class($this)."update_price id=".$id." newprice=".$newprice." newpricebase=".$newpricebase." newminprice=".$newminprice." level=".$level." npr=".$newnpr);
|
||||
|
||||
// Clean parameters
|
||||
@ -1061,7 +1061,9 @@ class Product extends CommonObject
|
||||
// Price by quantity
|
||||
$this->price_by_qty = $newpsq;
|
||||
|
||||
$this->_log_price($user,$level);
|
||||
$this->_log_price($user,$level); // Save price for level into table product_price
|
||||
|
||||
$this->level = $level; // Store level of price edited for trigger
|
||||
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
|
||||
@ -1195,7 +1197,7 @@ class Product extends CommonObject
|
||||
for ($i=1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i++)
|
||||
{
|
||||
$sql = "SELECT price, price_ttc, price_min, price_min_ttc,";
|
||||
$sql.= " price_base_type, tva_tx, tosell, price_by_qty, rowid";
|
||||
$sql.= " price_base_type, tva_tx, tosell, price_by_qty, rowid, recuperableonly";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product_price";
|
||||
$sql.= " WHERE price_level=".$i;
|
||||
$sql.= " AND fk_product = '".$this->id."'";
|
||||
@ -1211,7 +1213,8 @@ class Product extends CommonObject
|
||||
$this->multiprices_min[$i]=$result["price_min"];
|
||||
$this->multiprices_min_ttc[$i]=$result["price_min_ttc"];
|
||||
$this->multiprices_base_type[$i]=$result["price_base_type"];
|
||||
$this->multiprices_tva_tx[$i]=$result["tva_tx"];
|
||||
$this->multiprices_tva_tx[$i]=$result["tva_tx"];
|
||||
$this->multiprices_recuperableonly[$i]=$result["recuperableonly"];
|
||||
|
||||
// Price by quantity
|
||||
$this->prices_by_qty[$i]=$result["price_by_qty"];
|
||||
|
||||
@ -313,7 +313,6 @@ if (empty($reshook))
|
||||
$object->ref = GETPOST('clone_ref');
|
||||
$object->status = 0;
|
||||
$object->status_buy = 0;
|
||||
$object->finished = 1;
|
||||
$object->id = null;
|
||||
|
||||
if ($object->check())
|
||||
|
||||
@ -51,7 +51,7 @@ $object = new Product($db);
|
||||
if ($action == 'update_price' && ! $_POST["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer))
|
||||
{
|
||||
$result = $object->fetch($id);
|
||||
|
||||
|
||||
// MultiPrix
|
||||
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||
{
|
||||
@ -88,7 +88,7 @@ if ($action == 'update_price' && ! $_POST["cancel"] && ($user->rights->produit->
|
||||
$newpsq = empty($newpsq) ? 0 : $newpsq;
|
||||
}
|
||||
|
||||
if ($object->updatePrice($object->id, $newprice, $newpricebase, $user, $newvat, $newprice_min, $level, $newnpr, $newpsq) > 0)
|
||||
if ($object->updatePrice($newprice, $newpricebase, $user, $newvat, $newprice_min, $level, $newnpr, $newpsq) > 0)
|
||||
{
|
||||
$action = '';
|
||||
$mesg = '<div class="ok">'.$langs->trans("RecordSaved").'</div>';
|
||||
@ -112,8 +112,8 @@ $error=0;
|
||||
if ($action == 'activate_price_by_qty') { // Activating product price by quantity add a new price, specified as by quantity
|
||||
$result = $object->fetch($id);
|
||||
$level=GETPOST('level');
|
||||
|
||||
$object->updatePrice($object->id, 0, $object->price_base_type, $user, $object->tva_tx, 0, $level, $object->tva_npr, 1);
|
||||
|
||||
$object->updatePrice(0, $object->price_base_type, $user, $object->tva_tx, 0, $level, $object->tva_npr, 1);
|
||||
}
|
||||
|
||||
if ($action == 'edit_price_by_qty') { // Edition d'un prix par quantité
|
||||
@ -131,7 +131,7 @@ if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par qu
|
||||
$quantity=GETPOST('quantity');
|
||||
$remise_percent=price2num(GETPOST('remise_percent'));
|
||||
$remise=0; // TODO : allow dicsount by amount when available on documents
|
||||
|
||||
|
||||
if (empty($quantity))
|
||||
{
|
||||
$error++;
|
||||
@ -148,10 +148,10 @@ if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par qu
|
||||
{
|
||||
$price = price2num($newprice) / (1 + ($object->tva_tx / 100));
|
||||
}
|
||||
|
||||
|
||||
$price = price2num($newprice,'MU');
|
||||
$unitPrice = price2num($price/$quantity,'MU');
|
||||
|
||||
|
||||
// Ajout / mise à jour
|
||||
if($rowid > 0) {
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."product_price_by_qty SET";
|
||||
@ -161,12 +161,12 @@ if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par qu
|
||||
$sql.= " remise_percent=".$remise_percent.",";
|
||||
$sql.= " remise=".$remise;
|
||||
$sql.= " WHERE rowid = ".GETPOST('rowid');
|
||||
|
||||
|
||||
$result = $db->query($sql);
|
||||
} else {
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."product_price_by_qty (fk_product_price,price,unitprice,quantity,remise_percent,remise) values (";
|
||||
$sql.= $priceid.','.$price.','.$unitPrice.','.$quantity.','.$remise_percent.','.$remise.')';
|
||||
|
||||
|
||||
$result = $db->query($sql);
|
||||
}
|
||||
}
|
||||
@ -174,19 +174,19 @@ if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par qu
|
||||
|
||||
if ($action == 'delete_price_by_qty') {
|
||||
$rowid = GETPOST('rowid');
|
||||
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."product_price_by_qty";
|
||||
$sql.= " WHERE rowid = ".GETPOST('rowid');
|
||||
|
||||
|
||||
$result = $db->query($sql);
|
||||
}
|
||||
|
||||
if ($action == 'delete_all_price_by_qty') {
|
||||
$priceid=GETPOST('priceid');
|
||||
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."product_price_by_qty";
|
||||
$sql.= " WHERE fk_product_price = ".$priceid;
|
||||
|
||||
|
||||
$result = $db->query($sql);
|
||||
}
|
||||
|
||||
@ -325,10 +325,10 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||
if($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) {
|
||||
print '<tr><td>'.$langs->trans("PriceByQuantity").' '.$i;
|
||||
print '</td><td>';
|
||||
|
||||
|
||||
if($object->prices_by_qty[$i] == 1) {
|
||||
print '<table width="50%" class="noborder">';
|
||||
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("PriceByQuantityRange").' '.$i.'</td>';
|
||||
print '<td align="right">'.$langs->trans("HT").'</td>';
|
||||
@ -383,7 +383,7 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||
print '</tr>';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
|
||||
print '</table>';
|
||||
} else {
|
||||
print $langs->trans("No");
|
||||
@ -422,16 +422,18 @@ else
|
||||
print price($object->price_min).' '.$langs->trans($object->price_base_type);
|
||||
}
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
// Price by quantity
|
||||
if($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) {
|
||||
if($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)
|
||||
{
|
||||
print '<tr><td>'.$langs->trans("PriceByQuantity");
|
||||
if($object->prices_by_qty[0] == 0) {
|
||||
print ' <a href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&action=activate_price_by_qty&level=1">'.$langs->trans("Activate");
|
||||
}
|
||||
print '</td><td>';
|
||||
|
||||
if($object->prices_by_qty[0] == 1) {
|
||||
|
||||
if ($object->prices_by_qty[0] == 1)
|
||||
{
|
||||
print '<table width="50%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("PriceByQuantityRange").'</td>';
|
||||
@ -440,7 +442,8 @@ else
|
||||
print '<td align="right">'.$langs->trans("Discount").'</td>';
|
||||
print '<td> </td>';
|
||||
print '</tr>';
|
||||
foreach ($object->prices_by_qty_list[0] as $ii=> $prices) {
|
||||
foreach ($object->prices_by_qty_list[0] as $ii=> $prices)
|
||||
{
|
||||
if($action == 'edit_price_by_qty' && $rowid == $prices['rowid'] && ($user->rights->produit->creer || $user->rights->service->creer)) {
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="POST">';
|
||||
print '<input type="hidden" name="action" value="update_price_by_qty">';
|
||||
@ -667,8 +670,8 @@ $sql.= " WHERE fk_product = ".$object->id;
|
||||
$sql.= " AND p.fk_user_author = u.rowid";
|
||||
if (! empty($socid) && ! empty($conf->global->PRODUIT_MULTIPRICES)) $sql.= " AND p.price_level = ".$soc->price_level;
|
||||
$sql.= " ORDER BY p.date_price DESC, p.price_level ASC";
|
||||
//$sql .= $db->plimit();
|
||||
|
||||
dol_syslog("sql=".$sql);
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
{
|
||||
@ -680,7 +683,7 @@ if ($result)
|
||||
|
||||
// Il doit au moins y avoir la ligne de prix initial.
|
||||
// On l'ajoute donc pour remettre a niveau (pb vieilles versions)
|
||||
$object->updatePrice($object->id, $object->price, $object->price_base_type, $user, $newprice_min);
|
||||
$object->updatePrice($object->price, $object->price_base_type, $user, $newprice_min);
|
||||
|
||||
$result = $db->query($sql);
|
||||
$num = $db->num_rows($result);
|
||||
|
||||
@ -1343,7 +1343,6 @@ class Project extends CommonObject
|
||||
*/
|
||||
function select_element($Tablename)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$projectkey="fk_projet";
|
||||
switch ($Tablename)
|
||||
@ -1373,25 +1372,27 @@ class Project extends CommonObject
|
||||
}
|
||||
$sql.= " ORDER BY ref DESC";
|
||||
|
||||
dol_syslog("Project.Lib::select_element sql=".$sql);
|
||||
dol_syslog(get_class($this).'::select_element sql='.$sql,LOG_DEBUG);
|
||||
|
||||
$resql=$db->query($sql);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$num = $this->db->num_rows($resql);
|
||||
$i = 0;
|
||||
if ($num > 0)
|
||||
{
|
||||
$sellist = '<select class="flat" name="elementselect">';
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
$sellist .='<option value="'.$obj->rowid.'">'.$obj->ref.'</option>';
|
||||
$i++;
|
||||
}
|
||||
$sellist .='</select>';
|
||||
}
|
||||
return $sellist ;
|
||||
|
||||
$this->db->free($resql);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1404,8 +1405,8 @@ class Project extends CommonObject
|
||||
*/
|
||||
function update_element($TableName, $ElementSelectId)
|
||||
{
|
||||
global $db;
|
||||
$sql="update ".MAIN_DB_PREFIX.$TableName;
|
||||
$sql="UPDATE ".MAIN_DB_PREFIX.$TableName;
|
||||
|
||||
if ($TableName=="actioncomm")
|
||||
{
|
||||
$sql.= " SET fk_project=".$this->id;
|
||||
@ -1416,7 +1417,17 @@ class Project extends CommonObject
|
||||
$sql.= " SET fk_projet=".$this->id;
|
||||
$sql.= " WHERE rowid=".$ElementSelectId;
|
||||
}
|
||||
$resql=$db->query($sql);
|
||||
|
||||
dol_syslog(get_class($this)."::update_element sql=" . $sql, LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if (!$resql) {
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::update_element error : " . $this->error, LOG_ERR);
|
||||
return -1;
|
||||
}else {
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -46,8 +46,10 @@ if (! empty($conf->commande->enabled)) $langs->load("orders");
|
||||
if (! empty($conf->propal->enabled)) $langs->load("propal");
|
||||
if (! empty($conf->ficheinter->enabled)) $langs->load("interventions");
|
||||
|
||||
$projectid=GETPOST('id');
|
||||
$ref=GETPOST('ref');
|
||||
$projectid=GETPOST('id','int');
|
||||
$ref=GETPOST('ref','alpha');
|
||||
$action=GETPOST('action','alpha');
|
||||
|
||||
if ($projectid == '' && $ref == '')
|
||||
{
|
||||
dol_print_error('','Bad parameter');
|
||||
@ -62,6 +64,8 @@ if ($ref)
|
||||
{
|
||||
$project->fetch(0,$ref);
|
||||
$projectid=$project->id;
|
||||
}else {
|
||||
$project->fetch($projectid);
|
||||
}
|
||||
|
||||
// Security check
|
||||
@ -82,7 +86,7 @@ $form = new Form($db);
|
||||
$userstatic=new User($db);
|
||||
|
||||
$project = new Project($db);
|
||||
$project->fetch($_GET["id"],$_GET["ref"]);
|
||||
$project->fetch($projectid,$ref);
|
||||
$project->societe->fetch($project->societe->id);
|
||||
|
||||
// To verify role of users
|
||||
@ -191,7 +195,10 @@ if ($action=="addelement")
|
||||
{
|
||||
$tablename = GETPOST("tablename");
|
||||
$elementselectid = GETPOST("elementselect");
|
||||
$project->update_element($tablename, $elementselectid);
|
||||
$result=$project->update_element($tablename, $elementselectid);
|
||||
if ($result<0) {
|
||||
setEventMessage($mailchimp->error,'errors');
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($listofreferent as $key => $value)
|
||||
|
||||
@ -469,7 +469,7 @@ foreach($mainmenuusedarray as $val)
|
||||
/* Login */
|
||||
|
||||
form#login {
|
||||
margin-top: 70px;
|
||||
margin-top: <?php echo $dol_optimize_smallscreen?'30':'60' ?>px;
|
||||
margin-bottom: 30px;
|
||||
font-size: 13px;
|
||||
}
|
||||
@ -2184,25 +2184,65 @@ div.ecmjqft {
|
||||
/* JMobile */
|
||||
/* ============================================================================== */
|
||||
|
||||
li.ui-li-divider .ui-link {
|
||||
color: #FFF !important;
|
||||
}
|
||||
a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.ui-btn-inner {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
/* white-space: normal; */ /* Warning, enable this break the truncate feature */
|
||||
}
|
||||
.ui-select .ui-btn-icon-right .ui-btn-inner {
|
||||
padding-right: 36px;
|
||||
}
|
||||
.fiche .ui-controlgroup {
|
||||
margin: 0px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
div.ui-controlgroup-controls div.tabsElem
|
||||
{
|
||||
margin-top: 2px;
|
||||
}
|
||||
div.ui-controlgroup-controls div.tabsElem a
|
||||
{
|
||||
-moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
-webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
border: none;
|
||||
}
|
||||
a.tab span.ui-btn-inner
|
||||
{
|
||||
border: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.ui-body-c {
|
||||
border: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
div.tabsElem a.ui-btn-corner-all {
|
||||
-webkit-border-bottom-left-radius: 0px;
|
||||
-moz-border-radius-bottomleft: 0px;
|
||||
border-bottom-left-radius: 0px;
|
||||
-webkit-border-bottom-right-radius: 0px;
|
||||
-moz-border-radius-bottomright: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
.ui-link {
|
||||
color: rgb(<?php print $colortext; ?>) !important;
|
||||
}
|
||||
|
||||
.ui-btn-icon-left .ui-icon {
|
||||
left: 8px;
|
||||
a.ui-link {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.ui-btn-icon-right .ui-icon {
|
||||
right: 8px;
|
||||
|
||||
/* force wrap possible onto field overflow does not works */
|
||||
.formdoc .ui-btn-inner
|
||||
{
|
||||
white-space: normal;
|
||||
overflow: hidden;
|
||||
text-overflow: hidden;
|
||||
}
|
||||
|
||||
/* Warning: setting this may make screen not beeing refreshed after a combo selection */
|
||||
.ui-body-c {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
div.ui-radio
|
||||
@ -2216,6 +2256,7 @@ div.ui-radio
|
||||
position: static;
|
||||
}
|
||||
|
||||
|
||||
<?php
|
||||
if (is_object($db)) $db->close();
|
||||
?>
|
||||
|
||||
@ -508,7 +508,7 @@ li.tmenu a.tmenudisabled {
|
||||
/* Login */
|
||||
|
||||
form#login {
|
||||
margin-top: 70px;
|
||||
margin-top: <?php echo $dol_optimize_smallscreen?'30':'60' ?>px;
|
||||
margin-bottom: 30px;
|
||||
font-size: 13px;
|
||||
}
|
||||
@ -2372,44 +2372,65 @@ div.ecmjqft {
|
||||
/* JMobile */
|
||||
/* ============================================================================== */
|
||||
|
||||
li.ui-li-divider .ui-link {
|
||||
color: #FFF !important;
|
||||
}
|
||||
a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.ui-btn-inner {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
white-space: normal;
|
||||
/* white-space: normal; */ /* Warning, enable this break the truncate feature */
|
||||
}
|
||||
|
||||
div.ui-controlgroup
|
||||
.ui-select .ui-btn-icon-right .ui-btn-inner {
|
||||
padding-right: 36px;
|
||||
}
|
||||
.fiche .ui-controlgroup {
|
||||
margin: 0px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
div.ui-controlgroup-controls div.tabsElem
|
||||
{
|
||||
height: auto;
|
||||
background-image: none;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
div.ui-controlgroup-controls div.tabsElem, div.ui-controlgroup-controls div.tabsElem a.tab
|
||||
div.ui-controlgroup-controls div.tabsElem a
|
||||
{
|
||||
height: auto;
|
||||
-moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
-webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
border: none;
|
||||
}
|
||||
|
||||
a.tab span.ui-btn-inner
|
||||
{
|
||||
border: none;
|
||||
padding: 0;
|
||||
}
|
||||
div.tabs a.tab#active span.ui-btn-inner, div.tabs a.tab#active span.ui-btn-text, div.tabs a.tab span.ui-btn-inner, div.tabs a.tab span.ui-btn-text {
|
||||
background-image: none;
|
||||
color: #D45416;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.ui-body-c {
|
||||
border: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.ui-btn-icon-left .ui-icon {
|
||||
left: 8px;
|
||||
.ui-link {
|
||||
color: rgb(<?php print $colortext; ?>) !important;
|
||||
}
|
||||
.ui-btn-icon-right .ui-icon {
|
||||
right: 8px;
|
||||
|
||||
a.ui-link {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
/* force wrap possible onto field overflow does not works */
|
||||
.formdoc .ui-btn-inner
|
||||
{
|
||||
white-space: normal;
|
||||
overflow: hidden;
|
||||
text-overflow: hidden;
|
||||
}
|
||||
|
||||
/* Warning: setting this may make screen not beeing refreshed after a combo selection */
|
||||
.ui-body-c {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
div.ui-radio
|
||||
|
||||
@ -579,7 +579,7 @@ foreach($mainmenuusedarray as $val)
|
||||
/* Login */
|
||||
|
||||
form#login {
|
||||
margin-top: 70px;
|
||||
margin-top: <?php echo $dol_optimize_smallscreen?'30':'60' ?>px;
|
||||
margin-bottom: 30px;
|
||||
font-size: 13px;
|
||||
}
|
||||
@ -2281,38 +2281,65 @@ div.ecmjqft {
|
||||
/* JMobile */
|
||||
/* ============================================================================== */
|
||||
|
||||
.ui-body-c {
|
||||
li.ui-li-divider .ui-link {
|
||||
color: #FFF !important;
|
||||
}
|
||||
a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.ui-btn-inner {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
/* white-space: normal; */ /* Warning, enable this break the truncate feature */
|
||||
}
|
||||
.ui-select .ui-btn-icon-right .ui-btn-inner {
|
||||
padding-right: 36px;
|
||||
}
|
||||
.fiche .ui-controlgroup {
|
||||
margin: 0px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
div.ui-controlgroup-controls div.tabsElem
|
||||
{
|
||||
margin-top: 2px;
|
||||
}
|
||||
div.ui-controlgroup-controls div.tabsElem a
|
||||
{
|
||||
-moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
-webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
box-shadow: 0 -3px 6px rgba(0,0,0,.2);
|
||||
border: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
div.ui-controlgroup
|
||||
{
|
||||
height: auto;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
div.ui-controlgroup-controls div.tabsElem, div.ui-controlgroup-controls div.tabsElem a.tab
|
||||
{
|
||||
height: auto;
|
||||
}
|
||||
|
||||
a.tab span.ui-btn-inner
|
||||
{
|
||||
border: none;
|
||||
padding: 0;
|
||||
}
|
||||
div.tabs a.tab#active span.ui-btn-inner, div.tabs a.tab#active span.ui-btn-text, div.tabs a.tab span.ui-btn-inner, div.tabs a.tab span.ui-btn-text {
|
||||
background-image: none;
|
||||
color: #D45416;
|
||||
height: auto;
|
||||
|
||||
.ui-body-c {
|
||||
border: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
.ui-link {
|
||||
color: rgb(<?php print $colortext; ?>) !important;
|
||||
}
|
||||
|
||||
.ui-btn-icon-left .ui-icon {
|
||||
left: 8px;
|
||||
a.ui-link {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.ui-btn-icon-right .ui-icon {
|
||||
right: 8px;
|
||||
|
||||
/* force wrap possible onto field overflow does not works */
|
||||
.formdoc .ui-btn-inner
|
||||
{
|
||||
white-space: normal;
|
||||
overflow: hidden;
|
||||
text-overflow: hidden;
|
||||
}
|
||||
|
||||
/* Warning: setting this may make screen not beeing refreshed after a combo selection */
|
||||
.ui-body-c {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
div.ui-radio
|
||||
@ -2326,6 +2353,7 @@ div.ui-radio
|
||||
position: static;
|
||||
}
|
||||
|
||||
|
||||
<?php
|
||||
if (is_object($db)) $db->close();
|
||||
?>
|
||||
|
||||
@ -903,7 +903,7 @@ font.vsmenudisabled { font-size:<?php print $fontsize ?>px; font-family: <?php p
|
||||
a.vsmenu:link, a.vsmenu:visited { color: #<?php echo $colortextmain; ?>; }
|
||||
font.vsmenudisabledmargin { margin: 1px 1px 1px 8px; }
|
||||
|
||||
a.help:link, a.help:visited, a.help:hover, a.help:active { font-size:<?php print $fontsizesmaller ?>px; font-family: <?php print $fontlist ?>; text-align: <?php print $left; ?>; font-weight: normal; color: #666666; }
|
||||
a.help:link, a.help:visited, a.help:hover, a.help:active { font-size:<?php print $fontsizesmaller ?>px; font-family: <?php print $fontlist ?>; text-align: <?php print $left; ?>; font-weight: normal; color: #666666; text-decoration: none; }
|
||||
|
||||
|
||||
div.blockvmenupair, div.blockvmenuimpair, div.blockvmenubookmarks
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<con:soapui-project name="Dolibarr" soapui-version="3.6.1" abortOnError="false" runType="SEQUENTIAL" resourceRoot="" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="WebServicesDolibarrOtherBinding" type="wsdl" bindingName="{http://www.dolibarr.org/ns/}WebServicesDolibarrOtherBinding" soapVersion="1_1" anonymous="optional" definition="http://localhostdolibarr/dolibarrnew/webservices/server_other.php?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="http://localhostdolibarr/dolibarrnew/webservices/server_other.php?wsdl"><con:part><con:url>http://localhostdolibarr/dolibarrnew/webservices/server_other.php?wsdl</con:url><con:content><![CDATA[<definitions targetNamespace="http://www.dolibarr.org/ns/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.dolibarr.org/ns/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<con:soapui-project name="Dolibarr" soapui-version="4.0.1" abortOnError="false" runType="SEQUENTIAL" resourceRoot="" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="WebServicesDolibarrOtherBinding" type="wsdl" bindingName="{http://www.dolibarr.org/ns/}WebServicesDolibarrOtherBinding" soapVersion="1_1" anonymous="optional" definition="http://localhostdolibarr/dolibarrnew/webservices/server_other.php?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="http://localhostdolibarr/dolibarrnew/webservices/server_other.php?wsdl"><con:part><con:url>http://localhostdolibarr/dolibarrnew/webservices/server_other.php?wsdl</con:url><con:content><![CDATA[<definitions targetNamespace="http://www.dolibarr.org/ns/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.dolibarr.org/ns/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<types>
|
||||
<xsd:schema targetNamespace="http://www.dolibarr.org/ns/">
|
||||
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
@ -757,231 +757,286 @@
|
||||
<idthirdparty xsi:type="xsd:string">all</idthirdparty>
|
||||
</ns:getSupplierInvoicesForThirdParty>
|
||||
</soapenv:Body>
|
||||
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#getSupplierInvoicesForThirdParty"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="WebServicesDolibarrProductOrServiceBinding" type="wsdl" bindingName="{http://www.dolibarr.org/ns/}WebServicesDolibarrProductOrServiceBinding" soapVersion="1_1" anonymous="optional" definition="http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php?wsdl"><con:part><con:url>http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php?wsdl</con:url><con:content><![CDATA[<definitions targetNamespace="http://www.dolibarr.org/ns/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.dolibarr.org/ns/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<types>
|
||||
<xsd:schema targetNamespace="http://www.dolibarr.org/ns/">
|
||||
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
|
||||
<xsd:complexType name="authentication">
|
||||
<xsd:all>
|
||||
<xsd:element name="dolibarrkey" type="xsd:string"/>
|
||||
<xsd:element name="sourceapplication" type="xsd:string"/>
|
||||
<xsd:element name="login" type="xsd:string"/>
|
||||
<xsd:element name="password" type="xsd:string"/>
|
||||
<xsd:element name="entity" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="result">
|
||||
<xsd:all>
|
||||
<xsd:element name="result_code" type="xsd:string"/>
|
||||
<xsd:element name="result_label" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="product">
|
||||
<xsd:all>
|
||||
<xsd:element name="id" type="xsd:string"/>
|
||||
<xsd:element name="ref" type="xsd:string"/>
|
||||
<xsd:element name="ref_ext" type="xsd:string"/>
|
||||
<xsd:element name="type" type="xsd:string"/>
|
||||
<xsd:element name="label" type="xsd:string"/>
|
||||
<xsd:element name="description" type="xsd:string"/>
|
||||
<xsd:element name="date_creation" type="xsd:dateTime"/>
|
||||
<xsd:element name="date_modification" type="xsd:dateTime"/>
|
||||
<xsd:element name="note" type="xsd:string"/>
|
||||
<xsd:element name="status_tobuy" type="xsd:string"/>
|
||||
<xsd:element name="status_tosell" type="xsd:string"/>
|
||||
<xsd:element name="barcode" type="xsd:string"/>
|
||||
<xsd:element name="barcode_type" type="xsd:string"/>
|
||||
<xsd:element name="country_id" type="xsd:string"/>
|
||||
<xsd:element name="country_code" type="xsd:string"/>
|
||||
<xsd:element name="customcode" type="xsd:string"/>
|
||||
<xsd:element name="price_net" type="xsd:string"/>
|
||||
<xsd:element name="price" type="xsd:string"/>
|
||||
<xsd:element name="price_min_net" type="xsd:string"/>
|
||||
<xsd:element name="price_min" type="xsd:string"/>
|
||||
<xsd:element name="price_base_type" type="xsd:string"/>
|
||||
<xsd:element name="vat_rate" type="xsd:string"/>
|
||||
<xsd:element name="vat_npr" type="xsd:string"/>
|
||||
<xsd:element name="localtax1_tx" type="xsd:string"/>
|
||||
<xsd:element name="localtax2_tx" type="xsd:string"/>
|
||||
<xsd:element name="stock_alert" type="xsd:string"/>
|
||||
<xsd:element name="stock_real" type="xsd:string"/>
|
||||
<xsd:element name="stock_pmp" type="xsd:string"/>
|
||||
<xsd:element name="canvas" type="xsd:string"/>
|
||||
<xsd:element name="import_key" type="xsd:string"/>
|
||||
<xsd:element name="dir" type="xsd:string"/>
|
||||
<xsd:element name="images" type="tns:ImagesArray"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="ImagesArray">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="image" type="tns:image" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="image">
|
||||
<xsd:all>
|
||||
<xsd:element name="original" type="xsd:string"/>
|
||||
<xsd:element name="thumble" type="xsd:string"/>
|
||||
<xsd:element name="imgWidth" type="xsd:string"/>
|
||||
<xsd:element name="imgHeight" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="filterproduct">
|
||||
<xsd:all>
|
||||
<xsd:element name="type" type="xsd:string"/>
|
||||
<xsd:element name="status_tobuy" type="xsd:string"/>
|
||||
<xsd:element name="status_tosell" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="ProductsArray2">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="product" type="tns:product" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
||||
</types>
|
||||
<message name="getProductOrServiceRequest">
|
||||
<part name="authentication" type="tns:authentication"/>
|
||||
<part name="id" type="xsd:string"/>
|
||||
<part name="ref" type="xsd:string"/>
|
||||
<part name="ref_ext" type="xsd:string"/>
|
||||
</message>
|
||||
<message name="getProductOrServiceResponse">
|
||||
<part name="result" type="tns:result"/>
|
||||
<part name="product" type="tns:product"/>
|
||||
</message>
|
||||
<message name="createProductOrServiceRequest">
|
||||
<part name="authentication" type="tns:authentication"/>
|
||||
<part name="product" type="tns:product"/>
|
||||
</message>
|
||||
<message name="createProductOrServiceResponse">
|
||||
<part name="result" type="tns:result"/>
|
||||
<part name="id" type="xsd:string"/>
|
||||
</message>
|
||||
<message name="getListOfProductsOrServicesRequest">
|
||||
<part name="authentication" type="tns:authentication"/>
|
||||
<part name="filterproduct" type="tns:filterproduct"/>
|
||||
</message>
|
||||
<message name="getListOfProductsOrServicesResponse">
|
||||
<part name="result" type="tns:result"/>
|
||||
<part name="products" type="tns:ProductsArray2"/>
|
||||
</message>
|
||||
<message name="getProductsForCategoryRequest">
|
||||
<part name="authentication" type="tns:authentication"/>
|
||||
<part name="id" type="xsd:string"/>
|
||||
</message>
|
||||
<message name="getProductsForCategoryResponse">
|
||||
<part name="result" type="tns:result"/>
|
||||
<part name="products" type="tns:ProductsArray2"/>
|
||||
</message>
|
||||
<portType name="WebServicesDolibarrProductOrServicePortType">
|
||||
<operation name="getProductOrService">
|
||||
<documentation>WS to get product or service</documentation>
|
||||
<input message="tns:getProductOrServiceRequest"/>
|
||||
<output message="tns:getProductOrServiceResponse"/>
|
||||
</operation>
|
||||
<operation name="createProductOrService">
|
||||
<documentation>WS to create a product or service</documentation>
|
||||
<input message="tns:createProductOrServiceRequest"/>
|
||||
<output message="tns:createProductOrServiceResponse"/>
|
||||
</operation>
|
||||
<operation name="getListOfProductsOrServices">
|
||||
<documentation>WS to get list of all products or services id and ref</documentation>
|
||||
<input message="tns:getListOfProductsOrServicesRequest"/>
|
||||
<output message="tns:getListOfProductsOrServicesResponse"/>
|
||||
</operation>
|
||||
<operation name="getProductsForCategory">
|
||||
<documentation>WS to get list of all products or services for a category</documentation>
|
||||
<input message="tns:getProductsForCategoryRequest"/>
|
||||
<output message="tns:getProductsForCategoryResponse"/>
|
||||
</operation>
|
||||
</portType>
|
||||
<binding name="WebServicesDolibarrProductOrServiceBinding" type="tns:WebServicesDolibarrProductOrServicePortType">
|
||||
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<operation name="getProductOrService">
|
||||
<soap:operation soapAction="http://www.dolibarr.org/ns/#getProductOrService" style="rpc"/>
|
||||
<input>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</input>
|
||||
<output>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</output>
|
||||
</operation>
|
||||
<operation name="createProductOrService">
|
||||
<soap:operation soapAction="http://www.dolibarr.org/ns/#createProductOrService" style="rpc"/>
|
||||
<input>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</input>
|
||||
<output>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</output>
|
||||
</operation>
|
||||
<operation name="getListOfProductsOrServices">
|
||||
<soap:operation soapAction="http://www.dolibarr.org/ns/#getListOfProductsOrServices" style="rpc"/>
|
||||
<input>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</input>
|
||||
<output>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</output>
|
||||
</operation>
|
||||
<operation name="getProductsForCategory">
|
||||
<soap:operation soapAction="http://www.dolibarr.org/ns/#getProductsForCategory" style="rpc"/>
|
||||
<input>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</input>
|
||||
<output>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</output>
|
||||
</operation>
|
||||
</binding>
|
||||
<service name="WebServicesDolibarrProductOrService">
|
||||
<port name="WebServicesDolibarrProductOrServicePort" binding="tns:WebServicesDolibarrProductOrServiceBinding">
|
||||
<soap:address location="http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php"/>
|
||||
</port>
|
||||
</service>
|
||||
</definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://localhost/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:endpoint>http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php</con:endpoint></con:endpoints><con:operation isOneWay="false" action="http://www.dolibarr.org/ns/#createProductOrService" name="createProductOrService" bindingOperationName="createProductOrService" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
<soapenv:Header/>
|
||||
<soapenv:Body>
|
||||
<ns:createProductOrService soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
<authentication xsi:type="ns:authentication">
|
||||
<!--You may enter the following 5 items in any order-->
|
||||
<dolibarrkey xsi:type="xsd:string">dolibarrkey</dolibarrkey>
|
||||
<sourceapplication xsi:type="xsd:string">aaa</sourceapplication>
|
||||
<login xsi:type="xsd:string">admin</login>
|
||||
<password xsi:type="xsd:string">admin</password>
|
||||
<entity xsi:type="xsd:string"/>
|
||||
</authentication>
|
||||
<product xsi:type="ns:product">
|
||||
<!--You may enter the following 24 items in any order-->
|
||||
<id xsi:type="xsd:string">?</id>
|
||||
<ref xsi:type="xsd:string">PPP</ref>
|
||||
<ref_ext xsi:type="xsd:string"/>
|
||||
<type xsi:type="xsd:string">1</type>
|
||||
<label xsi:type="xsd:string">PPP Label</label>
|
||||
<description xsi:type="xsd:string">Description of PPP</description>
|
||||
<date_creation xsi:type="xsd:dateTime">?</date_creation>
|
||||
<date_modification xsi:type="xsd:dateTime">?</date_modification>
|
||||
<note xsi:type="xsd:string">xxxxx</note>
|
||||
<status_tobuy xsi:type="xsd:string">?</status_tobuy>
|
||||
<status_tosell xsi:type="xsd:string">?</status_tosell>
|
||||
<barcode xsi:type="xsd:string">123456</barcode>
|
||||
<barcode_type xsi:type="xsd:string">?</barcode_type>
|
||||
<country_id xsi:type="xsd:string">?</country_id>
|
||||
<country_code xsi:type="xsd:string">FR</country_code>
|
||||
<customcode xsi:type="xsd:string">?</customcode>
|
||||
<price_net xsi:type="xsd:string">?</price_net>
|
||||
<price xsi:type="xsd:string">?</price>
|
||||
<price_base_type xsi:type="xsd:string">?</price_base_type>
|
||||
<stock_alert xsi:type="xsd:string">10</stock_alert>
|
||||
<stock_real xsi:type="xsd:string">?</stock_real>
|
||||
<stock_pmp xsi:type="xsd:string">?</stock_pmp>
|
||||
<canvas xsi:type="xsd:string">?</canvas>
|
||||
<import_key xsi:type="xsd:string">?</import_key>
|
||||
</product>
|
||||
</ns:createProductOrService>
|
||||
</soapenv:Body>
|
||||
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#createProductOrService"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="http://www.dolibarr.org/ns/#getProductOrService" name="getProductOrService" bindingOperationName="getProductOrService" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#getSupplierInvoicesForThirdParty"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="WebServicesDolibarrProductOrServiceBinding" type="wsdl" bindingName="{http://www.dolibarr.org/ns/}WebServicesDolibarrProductOrServiceBinding" soapVersion="1_1" anonymous="optional" definition="http://localhost/dolibarr/htdocs/webservices/server_productorservice.php?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="http://localhost/dolibarr/htdocs/webservices/server_productorservice.php?wsdl"><con:part><con:url>http://localhost/dolibarr/htdocs/webservices/server_productorservice.php?wsdl</con:url><con:content><![CDATA[<definitions targetNamespace="http://www.dolibarr.org/ns/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.dolibarr.org/ns/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<types>
|
||||
<xsd:schema targetNamespace="http://www.dolibarr.org/ns/">
|
||||
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
|
||||
<xsd:complexType name="authentication">
|
||||
<xsd:all>
|
||||
<xsd:element name="dolibarrkey" type="xsd:string"/>
|
||||
<xsd:element name="sourceapplication" type="xsd:string"/>
|
||||
<xsd:element name="login" type="xsd:string"/>
|
||||
<xsd:element name="password" type="xsd:string"/>
|
||||
<xsd:element name="entity" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="result">
|
||||
<xsd:all>
|
||||
<xsd:element name="result_code" type="xsd:string"/>
|
||||
<xsd:element name="result_label" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="product">
|
||||
<xsd:all>
|
||||
<xsd:element name="id" type="xsd:string"/>
|
||||
<xsd:element name="ref" type="xsd:string"/>
|
||||
<xsd:element name="ref_ext" type="xsd:string"/>
|
||||
<xsd:element name="type" type="xsd:string"/>
|
||||
<xsd:element name="label" type="xsd:string"/>
|
||||
<xsd:element name="description" type="xsd:string"/>
|
||||
<xsd:element name="date_creation" type="xsd:dateTime"/>
|
||||
<xsd:element name="date_modification" type="xsd:dateTime"/>
|
||||
<xsd:element name="note" type="xsd:string"/>
|
||||
<xsd:element name="status_tobuy" type="xsd:string"/>
|
||||
<xsd:element name="status_tosell" type="xsd:string"/>
|
||||
<xsd:element name="barcode" type="xsd:string"/>
|
||||
<xsd:element name="barcode_type" type="xsd:string"/>
|
||||
<xsd:element name="country_id" type="xsd:string"/>
|
||||
<xsd:element name="country_code" type="xsd:string"/>
|
||||
<xsd:element name="customcode" type="xsd:string"/>
|
||||
<xsd:element name="price_net" type="xsd:string"/>
|
||||
<xsd:element name="price" type="xsd:string"/>
|
||||
<xsd:element name="price_min_net" type="xsd:string"/>
|
||||
<xsd:element name="price_min" type="xsd:string"/>
|
||||
<xsd:element name="price_base_type" type="xsd:string"/>
|
||||
<xsd:element name="vat_rate" type="xsd:string"/>
|
||||
<xsd:element name="vat_npr" type="xsd:string"/>
|
||||
<xsd:element name="localtax1_tx" type="xsd:string"/>
|
||||
<xsd:element name="localtax2_tx" type="xsd:string"/>
|
||||
<xsd:element name="stock_alert" type="xsd:string"/>
|
||||
<xsd:element name="stock_real" type="xsd:string"/>
|
||||
<xsd:element name="stock_pmp" type="xsd:string"/>
|
||||
<xsd:element name="canvas" type="xsd:string"/>
|
||||
<xsd:element name="import_key" type="xsd:string"/>
|
||||
<xsd:element name="dir" type="xsd:string"/>
|
||||
<xsd:element name="images" type="tns:ImagesArray"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="ImagesArray">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="image" type="tns:image" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="image">
|
||||
<xsd:all>
|
||||
<xsd:element name="photo" type="xsd:string"/>
|
||||
<xsd:element name="photo_vignette" type="xsd:string"/>
|
||||
<xsd:element name="imgWidth" type="xsd:string"/>
|
||||
<xsd:element name="imgHeight" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="filterproduct">
|
||||
<xsd:all>
|
||||
<xsd:element name="type" type="xsd:string"/>
|
||||
<xsd:element name="status_tobuy" type="xsd:string"/>
|
||||
<xsd:element name="status_tosell" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="ProductsArray2">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="product" type="tns:product" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
||||
</types>
|
||||
<message name="getProductOrServiceRequest">
|
||||
<part name="authentication" type="tns:authentication"/>
|
||||
<part name="id" type="xsd:string"/>
|
||||
<part name="ref" type="xsd:string"/>
|
||||
<part name="ref_ext" type="xsd:string"/>
|
||||
</message>
|
||||
<message name="getProductOrServiceResponse">
|
||||
<part name="result" type="tns:result"/>
|
||||
<part name="product" type="tns:product"/>
|
||||
</message>
|
||||
<message name="createProductOrServiceRequest">
|
||||
<part name="authentication" type="tns:authentication"/>
|
||||
<part name="product" type="tns:product"/>
|
||||
</message>
|
||||
<message name="createProductOrServiceResponse">
|
||||
<part name="result" type="tns:result"/>
|
||||
<part name="id" type="xsd:string"/>
|
||||
</message>
|
||||
<message name="getListOfProductsOrServicesRequest">
|
||||
<part name="authentication" type="tns:authentication"/>
|
||||
<part name="filterproduct" type="tns:filterproduct"/>
|
||||
</message>
|
||||
<message name="getListOfProductsOrServicesResponse">
|
||||
<part name="result" type="tns:result"/>
|
||||
<part name="products" type="tns:ProductsArray2"/>
|
||||
</message>
|
||||
<message name="getProductsForCategoryRequest">
|
||||
<part name="authentication" type="tns:authentication"/>
|
||||
<part name="id" type="xsd:string"/>
|
||||
</message>
|
||||
<message name="getProductsForCategoryResponse">
|
||||
<part name="result" type="tns:result"/>
|
||||
<part name="products" type="tns:ProductsArray2"/>
|
||||
</message>
|
||||
<portType name="WebServicesDolibarrProductOrServicePortType">
|
||||
<operation name="getProductOrService">
|
||||
<documentation>WS to get product or service</documentation>
|
||||
<input message="tns:getProductOrServiceRequest"/>
|
||||
<output message="tns:getProductOrServiceResponse"/>
|
||||
</operation>
|
||||
<operation name="createProductOrService">
|
||||
<documentation>WS to create a product or service</documentation>
|
||||
<input message="tns:createProductOrServiceRequest"/>
|
||||
<output message="tns:createProductOrServiceResponse"/>
|
||||
</operation>
|
||||
<operation name="getListOfProductsOrServices">
|
||||
<documentation>WS to get list of all products or services id and ref</documentation>
|
||||
<input message="tns:getListOfProductsOrServicesRequest"/>
|
||||
<output message="tns:getListOfProductsOrServicesResponse"/>
|
||||
</operation>
|
||||
<operation name="getProductsForCategory">
|
||||
<documentation>WS to get list of all products or services for a category</documentation>
|
||||
<input message="tns:getProductsForCategoryRequest"/>
|
||||
<output message="tns:getProductsForCategoryResponse"/>
|
||||
</operation>
|
||||
</portType>
|
||||
<binding name="WebServicesDolibarrProductOrServiceBinding" type="tns:WebServicesDolibarrProductOrServicePortType">
|
||||
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<operation name="getProductOrService">
|
||||
<soap:operation soapAction="http://www.dolibarr.org/ns/#getProductOrService" style="rpc"/>
|
||||
<input>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</input>
|
||||
<output>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</output>
|
||||
</operation>
|
||||
<operation name="createProductOrService">
|
||||
<soap:operation soapAction="http://www.dolibarr.org/ns/#createProductOrService" style="rpc"/>
|
||||
<input>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</input>
|
||||
<output>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</output>
|
||||
</operation>
|
||||
<operation name="getListOfProductsOrServices">
|
||||
<soap:operation soapAction="http://www.dolibarr.org/ns/#getListOfProductsOrServices" style="rpc"/>
|
||||
<input>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</input>
|
||||
<output>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</output>
|
||||
</operation>
|
||||
<operation name="getProductsForCategory">
|
||||
<soap:operation soapAction="http://www.dolibarr.org/ns/#getProductsForCategory" style="rpc"/>
|
||||
<input>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</input>
|
||||
<output>
|
||||
<soap:body use="encoded" namespace="http://www.dolibarr.org/ns/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</output>
|
||||
</operation>
|
||||
</binding>
|
||||
<service name="WebServicesDolibarrProductOrService">
|
||||
<port name="WebServicesDolibarrProductOrServicePort" binding="tns:WebServicesDolibarrProductOrServiceBinding">
|
||||
<soap:address location="http://localhost/dolibarr/htdocs/webservices/server_productorservice.php"/>
|
||||
</port>
|
||||
</service>
|
||||
</definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://localhost/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:endpoint>http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:endpoint>http://localhost/dolibarr/htdocs/webservices/server_productorservice.php</con:endpoint></con:endpoints><con:operation isOneWay="false" action="http://www.dolibarr.org/ns/#createProductOrService" name="createProductOrService" bindingOperationName="createProductOrService" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost/dolibarr/htdocs/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
<SOAP-ENV:Body>
|
||||
<ns8543:createProductOrService xmlns:ns8543="http://www.Dolibarr.org/ns/">
|
||||
<authentication>
|
||||
<dolibarrkey xsi:type="xsd:string">dolibarrkey</dolibarrkey>
|
||||
<sourceapplication xsi:type="xsd:string">PRESTASHOP</sourceapplication>
|
||||
<login xsi:type="xsd:string">admin</login>
|
||||
<password xsi:type="xsd:string">admin</password>
|
||||
<entity xsi:type="xsd:string"/>
|
||||
</authentication>
|
||||
<product>
|
||||
<id xsi:type="xsd:string"/>
|
||||
<ref xsi:type="xsd:string">aaa</ref>
|
||||
<ref_ext xsi:type="xsd:string">aaa</ref_ext>
|
||||
<type xsi:type="xsd:string">0</type>
|
||||
<label xsi:type="xsd:string">Écouteurs à isolation sonore Shure SE210</label>
|
||||
<description xsi:type="xsd:string">les couteurs isolation sonore ergonomiques et l gers offrent la reproduction audio la plus fid le en provenance de sources audio st r o portables ou de salon.</description>
|
||||
<date_creation xsi:type="xsd:string">2013-03-06 09:24:51</date_creation>
|
||||
<date_modification xsi:type="xsd:string">2013-03-06 09:24:51</date_modification>
|
||||
<note xsi:type="xsd:string">imported from Prestashop</note>
|
||||
<status_tobuy xsi:type="xsd:int">0</status_tobuy>
|
||||
<status_tosell xsi:type="xsd:int">1</status_tosell>
|
||||
<barcode xsi:type="xsd:string"/>
|
||||
<barcode_type xsi:type="xsd:string">upc</barcode_type>
|
||||
<country_id xsi:type="xsd:string"/>
|
||||
<country_code xsi:type="xsd:string"/>
|
||||
<customcode xsi:type="xsd:string"/>
|
||||
<price_net xsi:type="xsd:string"/>
|
||||
<price xsi:type="xsd:float">149</price>
|
||||
<price_base_type xsi:type="xsd:string"/>
|
||||
<stock_alert xsi:type="xsd:string"/>
|
||||
<stock_real xsi:type="xsd:string">0</stock_real>
|
||||
<stock_pmp xsi:type="xsd:string"/>
|
||||
<canvas xsi:type="xsd:string"/>
|
||||
<import_key xsi:type="xsd:string"/>
|
||||
</product>
|
||||
</ns8543:createProductOrService>
|
||||
</SOAP-ENV:Body>
|
||||
</SOAP-ENV:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#createProductOrService"/><con:wsrmConfig version="1.2"/></con:call><con:call name="Request 2"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
<soapenv:Header/>
|
||||
<soapenv:Body>
|
||||
<ns:createProductOrService soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
<authentication xsi:type="ns:authentication">
|
||||
<!--You may enter the following 5 items in any order-->
|
||||
<dolibarrkey xsi:type="xsd:string">?</dolibarrkey>
|
||||
<sourceapplication xsi:type="xsd:string">?</sourceapplication>
|
||||
<login xsi:type="xsd:string">?</login>
|
||||
<password xsi:type="xsd:string">?</password>
|
||||
<entity xsi:type="xsd:string">?</entity>
|
||||
</authentication>
|
||||
<product xsi:type="ns:product">
|
||||
<!--You may enter the following 32 items in any order-->
|
||||
<id xsi:type="xsd:string">?</id>
|
||||
<ref xsi:type="xsd:string">?</ref>
|
||||
<ref_ext xsi:type="xsd:string">?</ref_ext>
|
||||
<type xsi:type="xsd:string">?</type>
|
||||
<label xsi:type="xsd:string">?</label>
|
||||
<description xsi:type="xsd:string">?</description>
|
||||
<date_creation xsi:type="xsd:dateTime">?</date_creation>
|
||||
<date_modification xsi:type="xsd:dateTime">?</date_modification>
|
||||
<note xsi:type="xsd:string">?</note>
|
||||
<status_tobuy xsi:type="xsd:string">?</status_tobuy>
|
||||
<status_tosell xsi:type="xsd:string">?</status_tosell>
|
||||
<barcode xsi:type="xsd:string">?</barcode>
|
||||
<barcode_type xsi:type="xsd:string">?</barcode_type>
|
||||
<country_id xsi:type="xsd:string">?</country_id>
|
||||
<country_code xsi:type="xsd:string">?</country_code>
|
||||
<customcode xsi:type="xsd:string">?</customcode>
|
||||
<price_net xsi:type="xsd:string">?</price_net>
|
||||
<price xsi:type="xsd:string">?</price>
|
||||
<price_min_net xsi:type="xsd:string">?</price_min_net>
|
||||
<price_min xsi:type="xsd:string">?</price_min>
|
||||
<price_base_type xsi:type="xsd:string">?</price_base_type>
|
||||
<vat_rate xsi:type="xsd:string">?</vat_rate>
|
||||
<vat_npr xsi:type="xsd:string">?</vat_npr>
|
||||
<localtax1_tx xsi:type="xsd:string">?</localtax1_tx>
|
||||
<localtax2_tx xsi:type="xsd:string">?</localtax2_tx>
|
||||
<stock_alert xsi:type="xsd:string">?</stock_alert>
|
||||
<stock_real xsi:type="xsd:string">?</stock_real>
|
||||
<stock_pmp xsi:type="xsd:string">?</stock_pmp>
|
||||
<canvas xsi:type="xsd:string">?</canvas>
|
||||
<import_key xsi:type="xsd:string">?</import_key>
|
||||
<dir xsi:type="xsd:string">?</dir>
|
||||
<images xsi:type="ns:ImagesArray">
|
||||
<!--Zero or more repetitions:-->
|
||||
<image xsi:type="ns:image">
|
||||
<!--You may enter the following 4 items in any order-->
|
||||
<photo xsi:type="xsd:string">?</photo>
|
||||
<photo_vignette xsi:type="xsd:string">?</photo_vignette>
|
||||
<imgWidth xsi:type="xsd:string">?</imgWidth>
|
||||
<imgHeight xsi:type="xsd:string">?</imgHeight>
|
||||
</image>
|
||||
</images>
|
||||
</product>
|
||||
</ns:createProductOrService>
|
||||
</soapenv:Body>
|
||||
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#createProductOrService"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="http://www.dolibarr.org/ns/#getProductOrService" name="getProductOrService" bindingOperationName="getProductOrService" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost/dolibarr/htdocs/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
<soapenv:Header/>
|
||||
<soapenv:Body>
|
||||
<ns:getProductOrService soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
@ -998,7 +1053,7 @@
|
||||
<ref_ext xsi:type="xsd:string"></ref_ext>
|
||||
</ns:getProductOrService>
|
||||
</soapenv:Body>
|
||||
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#getProductOrService"/><con:wsrmConfig version="1.2"/></con:call><con:call name="Request 2"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#getProductOrService"/><con:wsrmConfig version="1.2"/></con:call><con:call name="Request 2"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost/dolibarr/htdocs/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
<soapenv:Header/>
|
||||
<soapenv:Body>
|
||||
<ns:getProductOrService soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
@ -1015,7 +1070,7 @@
|
||||
<ref_ext xsi:type="xsd:string">?</ref_ext>
|
||||
</ns:getProductOrService>
|
||||
</soapenv:Body>
|
||||
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#getProductOrService"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="http://www.dolibarr.org/ns/#getListOfProductsOrServices" name="getListOfProductsOrServices" bindingOperationName="getListOfProductsOrServices" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhostdolibarr/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#getProductOrService"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="http://www.dolibarr.org/ns/#getListOfProductsOrServices" name="getListOfProductsOrServices" bindingOperationName="getListOfProductsOrServices" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost/dolibarr/htdocs/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
<soapenv:Header/>
|
||||
<soapenv:Body>
|
||||
<ns:getListOfProductsOrServices soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
@ -1035,7 +1090,7 @@
|
||||
</filterproduct>
|
||||
</ns:getListOfProductsOrServices>
|
||||
</soapenv:Body>
|
||||
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#getListOfProductsOrServices"/></con:call></con:operation><con:operation isOneWay="false" action="http://www.dolibarr.org/ns/#getProductsForCategory" name="getProductsForCategory" bindingOperationName="getProductsForCategory" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost/dolibarrnew/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.dolibarr.org/ns/#getListOfProductsOrServices"/></con:call></con:operation><con:operation isOneWay="false" action="http://www.dolibarr.org/ns/#getProductsForCategory" name="getProductsForCategory" bindingOperationName="getProductsForCategory" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost/dolibarr/htdocs/webservices/server_productorservice.php</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dolibarr.org/ns/">
|
||||
<soapenv:Header/>
|
||||
<soapenv:Body>
|
||||
<ns:getProductsForCategory soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user