Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop
This commit is contained in:
commit
77f7bd62cd
@ -64,6 +64,7 @@ For users:
|
|||||||
- New: Can choose contact on event (action com) creation, and filtred by thirdparty.
|
- New: Can choose contact on event (action com) creation, and filtred by thirdparty.
|
||||||
- New: Add hidden option MAIN_FORCE_DEFAULT_STATE_ID.
|
- New: Add hidden option MAIN_FORCE_DEFAULT_STATE_ID.
|
||||||
- New: Add page to make mass stock movement.
|
- New: Add page to make mass stock movement.
|
||||||
|
- New: Add field oustanding limit into thirdparty properties.
|
||||||
|
|
||||||
For translators:
|
For translators:
|
||||||
- Qual: Normalized sort order of all languages files with english reference files.
|
- Qual: Normalized sort order of all languages files with english reference files.
|
||||||
@ -315,7 +316,7 @@ For users:
|
|||||||
- New: Can list elements (invoices, orders or proposals) on a particular
|
- New: Can list elements (invoices, orders or proposals) on a particular
|
||||||
user contact). This allow to view a "basket" of its elements.
|
user contact). This allow to view a "basket" of its elements.
|
||||||
- New: Show bank account on payment list of invoice card.
|
- New: Show bank account on payment list of invoice card.
|
||||||
- New: Cloning project allow to clones task, notes, files, contacts.
|
- New: Cloning project allow to clones task, notes, projects files, tasks files, contacts.
|
||||||
- New: Enhance default style.
|
- New: Enhance default style.
|
||||||
- New: Can edit and resiliate member status from list.
|
- New: Can edit and resiliate member status from list.
|
||||||
- New: Can insert URL links into elements lines. Also reported into PDF.
|
- New: Can insert URL links into elements lines. Also reported into PDF.
|
||||||
|
|||||||
@ -128,6 +128,14 @@ if ($action == 'cstc')
|
|||||||
if ($result < 0) setEventMessage($object->error,'errors');
|
if ($result < 0) setEventMessage($object->error,'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update communication level
|
||||||
|
if ($action == 'setOutstandingBill')
|
||||||
|
{
|
||||||
|
$object->fetch($id);
|
||||||
|
$object->outstanding_limit=GETPOST('OutstandingBill');
|
||||||
|
$result=$object->set_OutstandingBill($user);
|
||||||
|
if ($result < 0) setEventMessage($object->error,'errors');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -369,6 +377,18 @@ if ($id > 0)
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
if ($object->client)
|
||||||
|
{
|
||||||
|
print '<tr>';
|
||||||
|
print '<td>';
|
||||||
|
print $form->editfieldkey("OutstandingBill",'OutstandingBill',$object->outstanding_limit,$object,$user->rights->societe->creer);
|
||||||
|
print '</td><td colspan="3">';
|
||||||
|
print $form->editfieldval("OutstandingBill",'OutstandingBill',$object->outstanding_limit,$object,$user->rights->societe->creer);
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Multiprice level
|
// Multiprice level
|
||||||
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1885,6 +1885,18 @@ else
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($soc->outstanding_limit)
|
||||||
|
{
|
||||||
|
// Outstanding Bill
|
||||||
|
print '<tr><td>';
|
||||||
|
print $langs->trans('OutstandingBill');
|
||||||
|
print '</td><td align=right colspan=3>';
|
||||||
|
print price($soc->get_OutstandingBill()).' / ';
|
||||||
|
print price($soc->outstanding_limit, 0, '', 1, -1, -1, $conf->currency);
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
// Other attributes
|
// Other attributes
|
||||||
$res=$object->fetch_optionals($object->id,$extralabels);
|
$res=$object->fetch_optionals($object->id,$extralabels);
|
||||||
$parameters=array('colspan' => ' colspan="3"');
|
$parameters=array('colspan' => ' colspan="3"');
|
||||||
|
|||||||
@ -2195,6 +2195,19 @@ else
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if ($soc->outstanding_limit)
|
||||||
|
{
|
||||||
|
// Outstanding Bill
|
||||||
|
print '<tr><td>';
|
||||||
|
print $langs->trans('OutstandingBill');
|
||||||
|
print '</td><td align=right colspan=3>';
|
||||||
|
print price($soc->get_OutstandingBill()).' / ';
|
||||||
|
print price($soc->outstanding_limit, 0, '', 1, -1, -1, $conf->currency);
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
// Other attributes
|
// Other attributes
|
||||||
$res=$object->fetch_optionals($object->id,$extralabels);
|
$res=$object->fetch_optionals($object->id,$extralabels);
|
||||||
$parameters=array('colspan' => ' colspan="3"');
|
$parameters=array('colspan' => ' colspan="3"');
|
||||||
|
|||||||
@ -2318,6 +2318,18 @@ if ($action == 'create')
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($soc->outstanding_limit)
|
||||||
|
{
|
||||||
|
// Outstanding Bill
|
||||||
|
print '<tr><td>';
|
||||||
|
print $langs->trans('OutstandingBill');
|
||||||
|
print '</td><td align=right>';
|
||||||
|
print price($soc->get_OutstandingBill()).' / ';
|
||||||
|
print price($soc->outstanding_limit).'</td><td colspan=2>';
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
// Other attributes
|
// Other attributes
|
||||||
$parameters=array('objectsrc' => $objectsrc, 'colspan' => ' colspan="3"');
|
$parameters=array('objectsrc' => $objectsrc, 'colspan' => ' colspan="3"');
|
||||||
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
||||||
@ -3034,6 +3046,7 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
$nbrows=8; $nbcols=2;
|
$nbrows=8; $nbcols=2;
|
||||||
if (! empty($conf->projet->enabled)) $nbrows++;
|
if (! empty($conf->projet->enabled)) $nbrows++;
|
||||||
if (! empty($conf->banque->enabled)) $nbcols++;
|
if (! empty($conf->banque->enabled)) $nbcols++;
|
||||||
|
if (! empty($soc->outstandingbill)) $nbrows++;
|
||||||
if($mysoc->localtax1_assuj=="1") $nbrows++;
|
if($mysoc->localtax1_assuj=="1") $nbrows++;
|
||||||
if($mysoc->localtax2_assuj=="1") $nbrows++;
|
if($mysoc->localtax2_assuj=="1") $nbrows++;
|
||||||
if ($selleruserevenustamp) $nbrows++;
|
if ($selleruserevenustamp) $nbrows++;
|
||||||
@ -3305,6 +3318,18 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
|
if ($soc->outstandingbill)
|
||||||
|
{
|
||||||
|
// Outstanding Bill
|
||||||
|
print '<tr><td>';
|
||||||
|
print $langs->trans('OutstandingBill');
|
||||||
|
print '</td><td align=right>';
|
||||||
|
print price($soc->get_OutstandingBill()).' / ';
|
||||||
|
print price($soc->outstandingbill);
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
print '<tr><td>'.$langs->trans('AmountHT').'</td>';
|
print '<tr><td>'.$langs->trans('AmountHT').'</td>';
|
||||||
print '<td align="right" colspan="3" nowrap>'.price($object->total_ht,1,'',1,-1,-1,$conf->currency).'</td></tr>';
|
print '<td align="right" colspan="3" nowrap>'.price($object->total_ht,1,'',1,-1,-1,$conf->currency).'</td></tr>';
|
||||||
|
|||||||
@ -103,6 +103,7 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
|
|||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled', __HANDLER__, 'left', 3103__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/valo.php', 'EnhancedValue', 1, 'stocks', '$user->rights->stock->lire', '', 2, 2, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled', __HANDLER__, 'left', 3103__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/valo.php', 'EnhancedValue', 1, 'stocks', '$user->rights->stock->lire', '', 2, 2, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled', __HANDLER__, 'left', 3104__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/mouvement.php', 'Movements', 1, 'stocks', '$user->rights->stock->mouvement->lire', '', 2, 3, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled', __HANDLER__, 'left', 3104__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/mouvement.php', 'Movements', 1, 'stocks', '$user->rights->stock->mouvement->lire', '', 2, 3, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 3105__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/replenish.php', 'Replenishments', 1, 'stocks', '$user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire', '', 2, 4, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 3105__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/replenish.php', 'Replenishments', 1, 'stocks', '$user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire', '', 2, 4, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 3106__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/massstockmove.php', 'StockTransfer', 1, 'stocks', '$user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire', '', 2, 5, __ENTITY__);
|
||||||
|
|
||||||
-- Product - Categories
|
-- Product - Categories
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->categorie->enabled', __HANDLER__, 'left', 3200__+MAX_llx_menu__, 'products', 'cat', 3__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&type=0', 'Categories', 0, 'categories', '$user->rights->categorie->lire', '', 2, 4, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->categorie->enabled', __HANDLER__, 'left', 3200__+MAX_llx_menu__, 'products', 'cat', 3__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&type=0', 'Categories', 0, 'categories', '$user->rights->categorie->lire', '', 2, 4, __ENTITY__);
|
||||||
|
|||||||
@ -565,7 +565,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Menu TIERS
|
* Menu THIRDPARTIES
|
||||||
*/
|
*/
|
||||||
if ($mainmenu == 'companies')
|
if ($mainmenu == 'companies')
|
||||||
{
|
{
|
||||||
@ -598,7 +598,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
//$newmenu->add("/contact/list.php?leftmenu=customers&type=p", $langs->trans("Contacts"), 2, $user->rights->societe->contact->lire);
|
//$newmenu->add("/contact/list.php?leftmenu=customers&type=p", $langs->trans("Contacts"), 2, $user->rights->societe->contact->lire);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clients
|
// Customers/Prospects
|
||||||
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))
|
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))
|
||||||
{
|
{
|
||||||
$langs->load("commercial");
|
$langs->load("commercial");
|
||||||
@ -608,7 +608,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
//$newmenu->add("/contact/list.php?leftmenu=customers&type=c", $langs->trans("Contacts"), 2, $user->rights->societe->contact->lire);
|
//$newmenu->add("/contact/list.php?leftmenu=customers&type=c", $langs->trans("Contacts"), 2, $user->rights->societe->contact->lire);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fournisseurs
|
// Suppliers
|
||||||
if (! empty($conf->societe->enabled) && ! empty($conf->fournisseur->enabled))
|
if (! empty($conf->societe->enabled) && ! empty($conf->fournisseur->enabled))
|
||||||
{
|
{
|
||||||
$langs->load("suppliers");
|
$langs->load("suppliers");
|
||||||
@ -1008,6 +1008,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/valo.php", $langs->trans("EnhancedValue"), 1, $user->rights->stock->lire);
|
if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/valo.php", $langs->trans("EnhancedValue"), 1, $user->rights->stock->lire);
|
||||||
if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/mouvement.php", $langs->trans("Movements"), 1, $user->rights->stock->mouvement->lire);
|
if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/mouvement.php", $langs->trans("Movements"), 1, $user->rights->stock->mouvement->lire);
|
||||||
if ($conf->fournisseur->enabled) if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/replenish.php", $langs->trans("Replenishment"), 1, $user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire);
|
if ($conf->fournisseur->enabled) if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/replenish.php", $langs->trans("Replenishment"), 1, $user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire);
|
||||||
|
if ($conf->fournisseur->enabled) if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/massstockmove.php", $langs->trans("StockTransfer"), 1, $user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Expeditions
|
// Expeditions
|
||||||
|
|||||||
@ -16,6 +16,8 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
* Javascript code to activate drag and drop on lines
|
* Javascript code to activate drag and drop on lines
|
||||||
|
* You can use this if you want to be abale to drag and drop rows of a table.
|
||||||
|
* You must add id="tablelines" ont table level tag and have count($object->lines) or count($taskarray) > 0
|
||||||
*/
|
*/
|
||||||
?>
|
?>
|
||||||
|
|
||||||
@ -26,6 +28,7 @@ $fk_element=$object->fk_element;
|
|||||||
$table_element_line=$object->table_element_line;
|
$table_element_line=$object->table_element_line;
|
||||||
$nboflines=(isset($object->lines)?count($object->lines):(isset($tasksarray)?count($tasksarray):0));
|
$nboflines=(isset($object->lines)?count($object->lines):(isset($tasksarray)?count($tasksarray):0));
|
||||||
$forcereloadpage=empty($conf->global->MAIN_FORCE_RELOAD_PAGE)?0:1;
|
$forcereloadpage=empty($conf->global->MAIN_FORCE_RELOAD_PAGE)?0:1;
|
||||||
|
$tagidfortablednd=(empty($tagidfortablednd)?'tablelines':$tagidfortablednd);
|
||||||
|
|
||||||
if (GETPOST('action') != 'editline' && $nboflines > 1) { ?>
|
if (GETPOST('action') != 'editline' && $nboflines > 1) { ?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@ -37,10 +40,10 @@ $(document).ready(function(){
|
|||||||
$(".tdlineupdown").css("background-repeat","no-repeat");
|
$(".tdlineupdown").css("background-repeat","no-repeat");
|
||||||
$(".tdlineupdown").css("background-position","center center");
|
$(".tdlineupdown").css("background-position","center center");
|
||||||
|
|
||||||
$("#tablelines").tableDnD({
|
$("#<?php echo $tagidfortablednd; ?>").tableDnD({
|
||||||
onDrop: function(table, row) {
|
onDrop: function(table, row) {
|
||||||
var reloadpage = "<?php echo $forcereloadpage; ?>";
|
var reloadpage = "<?php echo $forcereloadpage; ?>";
|
||||||
var roworder = cleanSerialize($("#tablelines").tableDnDSerialize());
|
var roworder = cleanSerialize($("#<?php echo $tagidfortablednd; ?>").tableDnDSerialize());
|
||||||
var table_element_line = "<?php echo $table_element_line; ?>";
|
var table_element_line = "<?php echo $table_element_line; ?>";
|
||||||
var fk_element = "<?php echo $fk_element; ?>";
|
var fk_element = "<?php echo $fk_element; ?>";
|
||||||
var element_id = "<?php echo $id; ?>";
|
var element_id = "<?php echo $id; ?>";
|
||||||
@ -55,7 +58,7 @@ $(document).ready(function(){
|
|||||||
if (reloadpage == 1) {
|
if (reloadpage == 1) {
|
||||||
location.href = '<?php echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>';
|
location.href = '<?php echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>';
|
||||||
} else {
|
} else {
|
||||||
$("#tablelines .drag").each(
|
$("#<?php echo $tagidfortablednd; ?> .drag").each(
|
||||||
function( intIndex ) {
|
function( intIndex ) {
|
||||||
$(this).removeClass("pair impair");
|
$(this).removeClass("pair impair");
|
||||||
if (intIndex % 2 == 0) $(this).addClass('impair');
|
if (intIndex % 2 == 0) $(this).addClass('impair');
|
||||||
|
|||||||
@ -299,7 +299,8 @@ ALTER TABLE llx_facture_fourn MODIFY COLUMN fk_mode_reglement integer NULL;
|
|||||||
ALTER TABLE llx_facture_fourn MODIFY COLUMN fk_cond_reglement integer NULL;
|
ALTER TABLE llx_facture_fourn MODIFY COLUMN fk_cond_reglement integer NULL;
|
||||||
|
|
||||||
|
|
||||||
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (9,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1);
|
INSERT INTO llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (9,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1);
|
||||||
|
|
||||||
|
|
||||||
ALTER TABLE llx_contratdet ADD column product_type integer DEFAULT 1 after total_ttc;
|
ALTER TABLE llx_contratdet ADD column product_type integer DEFAULT 1 after total_ttc;
|
||||||
|
|
||||||
@ -311,3 +312,7 @@ create table llx_contrat_extrafields
|
|||||||
import_key varchar(14) -- import key
|
import_key varchar(14) -- import key
|
||||||
) ENGINE=innodb;
|
) ENGINE=innodb;
|
||||||
|
|
||||||
|
|
||||||
|
-- add outstanding bill
|
||||||
|
ALTER TABLE llx_societe ADD outstanding_limit double(24,8) DEFAULT NULL AFTER mode_reglement_supplier;
|
||||||
|
|
||||||
|
|||||||
@ -52,7 +52,7 @@ create table llx_societe
|
|||||||
fk_effectif integer DEFAULT 0, --
|
fk_effectif integer DEFAULT 0, --
|
||||||
fk_typent integer DEFAULT 0, --
|
fk_typent integer DEFAULT 0, --
|
||||||
fk_forme_juridique integer DEFAULT 0, -- juridical status
|
fk_forme_juridique integer DEFAULT 0, -- juridical status
|
||||||
fk_currency integer DEFAULT 0, -- currency
|
fk_currency integer DEFAULT 0, -- currency
|
||||||
siren varchar(128), -- IDProf1: siren or RCS for france
|
siren varchar(128), -- IDProf1: siren or RCS for france
|
||||||
siret varchar(128), -- IDProf2: siret for france
|
siret varchar(128), -- IDProf2: siret for france
|
||||||
ape varchar(128), -- IDProf3: code ape for france
|
ape varchar(128), -- IDProf3: code ape for france
|
||||||
@ -61,7 +61,7 @@ create table llx_societe
|
|||||||
idprof6 varchar(128), -- IDProf6: nu for france
|
idprof6 varchar(128), -- IDProf6: nu for france
|
||||||
tva_intra varchar(20), -- tva
|
tva_intra varchar(20), -- tva
|
||||||
capital real, -- capital de la societe
|
capital real, -- capital de la societe
|
||||||
fk_stcomm integer DEFAULT 0 NOT NULL, -- commercial statut
|
fk_stcomm integer DEFAULT 0 NOT NULL, -- commercial statut
|
||||||
note_private text, --
|
note_private text, --
|
||||||
note_public text, --
|
note_public text, --
|
||||||
prefix_comm varchar(5), -- prefix commercial
|
prefix_comm varchar(5), -- prefix commercial
|
||||||
@ -85,6 +85,7 @@ create table llx_societe
|
|||||||
barcode varchar(255), -- barcode
|
barcode varchar(255), -- barcode
|
||||||
fk_barcode_type integer NULL DEFAULT 0, -- barcode type
|
fk_barcode_type integer NULL DEFAULT 0, -- barcode type
|
||||||
price_level integer NULL, -- level of price for multiprices
|
price_level integer NULL, -- level of price for multiprices
|
||||||
|
outstanding_limit double(24,8) DEFAULT NULL, -- allowed outstanding limit
|
||||||
default_lang varchar(6), -- default language
|
default_lang varchar(6), -- default language
|
||||||
logo varchar(255),
|
logo varchar(255),
|
||||||
canvas varchar(32), -- type of canvas if used (null by default)
|
canvas varchar(32), -- type of canvas if used (null by default)
|
||||||
|
|||||||
@ -397,7 +397,7 @@ InActivity=Open
|
|||||||
ActivityCeased=Closed
|
ActivityCeased=Closed
|
||||||
ActivityStateFilter=Activity status
|
ActivityStateFilter=Activity status
|
||||||
ProductsIntoElements=List of products into
|
ProductsIntoElements=List of products into
|
||||||
|
OutstandingBill=Outstanding Bill
|
||||||
# Monkey
|
# Monkey
|
||||||
MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0.
|
MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0.
|
||||||
# Leopard
|
# Leopard
|
||||||
|
|||||||
@ -89,7 +89,8 @@ CloneProject=Clone project
|
|||||||
CloneTasks=Clone tasks
|
CloneTasks=Clone tasks
|
||||||
CloneContacts=Clone contacts
|
CloneContacts=Clone contacts
|
||||||
CloneNotes=Clone notes
|
CloneNotes=Clone notes
|
||||||
CloneFiles=Clone joined files
|
CloneProjectFiles=Clone project joined files
|
||||||
|
CloneTaskFiles=Clone task(s) joined files (if task(s) cloned)
|
||||||
ConfirmCloneProject=Are you sure to clone this project ?
|
ConfirmCloneProject=Are you sure to clone this project ?
|
||||||
ProjectReportDate=Change task date according project start date
|
ProjectReportDate=Change task date according project start date
|
||||||
ErrorShiftTaskDate=Impossible to shift task date according to new project start date
|
ErrorShiftTaskDate=Impossible to shift task date according to new project start date
|
||||||
|
|||||||
@ -397,7 +397,7 @@ InActivity=En activité
|
|||||||
ActivityCeased=Clos
|
ActivityCeased=Clos
|
||||||
ActivityStateFilter=Statut d'activité
|
ActivityStateFilter=Statut d'activité
|
||||||
ProductsIntoElements=Liste des produits dans les %s
|
ProductsIntoElements=Liste des produits dans les %s
|
||||||
|
OutstandingBill=Encours de facturation
|
||||||
# Monkey
|
# Monkey
|
||||||
MonkeyNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn pour les codes clients et %syymm-nnnn pour les codes fournisseurs où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0.
|
MonkeyNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn pour les codes clients et %syymm-nnnn pour les codes fournisseurs où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0.
|
||||||
# Leopard
|
# Leopard
|
||||||
|
|||||||
@ -89,7 +89,8 @@ CloneProject=Cloner le projet
|
|||||||
CloneTasks=Cloner les tâches
|
CloneTasks=Cloner les tâches
|
||||||
CloneContacts=Cloner les contacts
|
CloneContacts=Cloner les contacts
|
||||||
CloneNotes=Cloner les notes
|
CloneNotes=Cloner les notes
|
||||||
CloneFiles=Cloner les pièces jointes
|
CloneProjectFiles=Cloner les pièces jointes du projet
|
||||||
|
CloneTaskFiles=Cloner les pièces jointes des tâche(s) (si tâche(s) cloner)
|
||||||
ConfirmCloneProject=Êtes-vous sûr de vouloir cloner ce projet ?
|
ConfirmCloneProject=Êtes-vous sûr de vouloir cloner ce projet ?
|
||||||
ProjectReportDate=Reporter les dates des tâches en fonction de la date de départ.
|
ProjectReportDate=Reporter les dates des tâches en fonction de la date de départ.
|
||||||
ErrorShiftTaskDate=Une erreur c'est produite dans le report des dates des tâches.
|
ErrorShiftTaskDate=Une erreur c'est produite dans le report des dates des tâches.
|
||||||
@ -104,7 +105,7 @@ TypeContact_project_task_internal_TASKEXECUTIVE=Responsable
|
|||||||
TypeContact_project_task_external_TASKEXECUTIVE=Responsable
|
TypeContact_project_task_external_TASKEXECUTIVE=Responsable
|
||||||
TypeContact_project_task_internal_CONTRIBUTOR=Intervenant
|
TypeContact_project_task_internal_CONTRIBUTOR=Intervenant
|
||||||
TypeContact_project_task_external_CONTRIBUTOR=Intervenant
|
TypeContact_project_task_external_CONTRIBUTOR=Intervenant
|
||||||
SelectElement=Eléments associable au projet :
|
SelectElement=Eléments associables au projet :
|
||||||
AddElement=Associer
|
AddElement=Associer
|
||||||
# Documents models
|
# Documents models
|
||||||
DocumentModelBaleine=Modèle de rapport de projet complet (logo...)
|
DocumentModelBaleine=Modèle de rapport de projet complet (logo...)
|
||||||
|
|||||||
@ -324,7 +324,7 @@ print '<input type="hidden" name="token" value="' .$_SESSION['newtoken'] . '">';
|
|||||||
print '<input type="hidden" name="action" value="createmovements">';
|
print '<input type="hidden" name="action" value="createmovements">';
|
||||||
|
|
||||||
// Button to record mass movement
|
// Button to record mass movement
|
||||||
$labelmovement=GETPOST("label")?GETPOST('label'):$langs->trans("MassStockMovement").' '.dol_print_date($now,'%Y-%m-%d %H:%M');
|
$labelmovement=GETPOST("label")?GETPOST('label'):$langs->trans("StockTransfer").' '.dol_print_date($now,'%Y-%m-%d %H:%M');
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
|
|||||||
@ -540,7 +540,7 @@ while ($i < min($num, $limit))
|
|||||||
}
|
}
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
print '</table>'.
|
print '</table>';
|
||||||
|
|
||||||
|
|
||||||
$value=$langs->trans("CreateOrders");
|
$value=$langs->trans("CreateOrders");
|
||||||
|
|||||||
@ -970,11 +970,13 @@ class Project extends CommonObject
|
|||||||
* @param int $fromid Id of object to clone
|
* @param int $fromid Id of object to clone
|
||||||
* @param bool $clone_contact clone contact of project
|
* @param bool $clone_contact clone contact of project
|
||||||
* @param bool $clone_task clone task of project
|
* @param bool $clone_task clone task of project
|
||||||
* @param bool $clone_file clone file of project
|
* @param bool $clone_project_file clone file of project
|
||||||
|
* @param bool $clone_task_file clone file of task (if task are copied)
|
||||||
* @param bool $clone_note clone note of project
|
* @param bool $clone_note clone note of project
|
||||||
|
* @param bool $notrigger no trigger flag
|
||||||
* @return int New id of clone
|
* @return int New id of clone
|
||||||
*/
|
*/
|
||||||
function createFromClone($fromid,$clone_contact=false,$clone_task=true,$clone_file=false,$clone_note=true)
|
function createFromClone($fromid,$clone_contact=false,$clone_task=true,$clone_project_file=false,$clone_task_file=false,$clone_note=true,$notrigger=0)
|
||||||
{
|
{
|
||||||
global $user,$langs,$conf;
|
global $user,$langs,$conf;
|
||||||
|
|
||||||
@ -1025,7 +1027,7 @@ class Project extends CommonObject
|
|||||||
$clone_project->ref=$defaultref;
|
$clone_project->ref=$defaultref;
|
||||||
|
|
||||||
// Create clone
|
// Create clone
|
||||||
$result=$clone_project->create($user);
|
$result=$clone_project->create($user,$notrigger);
|
||||||
|
|
||||||
// Other options
|
// Other options
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
@ -1088,7 +1090,7 @@ class Project extends CommonObject
|
|||||||
|
|
||||||
foreach ($tab as $contacttoadd)
|
foreach ($tab as $contacttoadd)
|
||||||
{
|
{
|
||||||
$clone_project->add_contact($contacttoadd['id'], $contacttoadd['code'], $contacttoadd['source']);
|
$clone_project->add_contact($contacttoadd['id'], $contacttoadd['code'], $contacttoadd['source'],$notrigger);
|
||||||
if ($clone_project->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
|
if ($clone_project->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
|
||||||
{
|
{
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
@ -1108,7 +1110,7 @@ class Project extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Duplicate file
|
//Duplicate file
|
||||||
if ($clone_file)
|
if ($clone_project_file)
|
||||||
{
|
{
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|
||||||
@ -1151,7 +1153,7 @@ class Project extends CommonObject
|
|||||||
|
|
||||||
foreach ($tasksarray as $tasktoclone)
|
foreach ($tasksarray as $tasktoclone)
|
||||||
{
|
{
|
||||||
$result_clone = $taskstatic->createFromClone($tasktoclone->id,$clone_project_id,$tasktoclone->fk_parent,true,true,false,true,true,false);
|
$result_clone = $taskstatic->createFromClone($tasktoclone->id,$clone_project_id,$tasktoclone->fk_parent,true,true,false,$clone_task_file,true,false);
|
||||||
if ($result_clone <= 0)
|
if ($result_clone <= 0)
|
||||||
{
|
{
|
||||||
$this->error.=$result_clone->error;
|
$this->error.=$result_clone->error;
|
||||||
@ -1181,7 +1183,7 @@ class Project extends CommonObject
|
|||||||
{
|
{
|
||||||
$taskstatic->fk_task_parent=$tab_conv_child_parent[$taskstatic->fk_task_parent];
|
$taskstatic->fk_task_parent=$tab_conv_child_parent[$taskstatic->fk_task_parent];
|
||||||
}
|
}
|
||||||
$res=$taskstatic->update($user);
|
$res=$taskstatic->update($user,$notrigger);
|
||||||
if ($result_clone <= 0)
|
if ($result_clone <= 0)
|
||||||
{
|
{
|
||||||
$this->error.=$taskstatic->error;
|
$this->error.=$taskstatic->error;
|
||||||
|
|||||||
@ -1083,6 +1083,7 @@ class Task extends CommonObject
|
|||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
|
|
||||||
$clone_task_id=$clone_task->id;
|
$clone_task_id=$clone_task->id;
|
||||||
|
$clone_task_ref = $clone_task->ref;
|
||||||
|
|
||||||
//Note Update
|
//Note Update
|
||||||
if (!$clone_note)
|
if (!$clone_note)
|
||||||
@ -1139,7 +1140,7 @@ class Task extends CommonObject
|
|||||||
$clone_project_ref=$ori_project_ref;
|
$clone_project_ref=$ori_project_ref;
|
||||||
}
|
}
|
||||||
|
|
||||||
$clone_task_dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($clone_project_ref). "/" . dol_sanitizeFileName($clone_task_id);
|
$clone_task_dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($clone_project_ref). "/" . dol_sanitizeFileName($clone_task_ref);
|
||||||
$ori_task_dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($ori_project_ref). "/" . dol_sanitizeFileName($fromid);
|
$ori_task_dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($ori_project_ref). "/" . dol_sanitizeFileName($fromid);
|
||||||
|
|
||||||
$filearray=dol_dir_list($ori_task_dir,"files",0,'','\.meta$','',SORT_ASC,1);
|
$filearray=dol_dir_list($ori_task_dir,"files",0,'','\.meta$','',SORT_ASC,1);
|
||||||
|
|||||||
@ -314,9 +314,10 @@ if ($action == 'confirm_clone' && $user->rights->projet->creer && GETPOST('confi
|
|||||||
{
|
{
|
||||||
$clone_contacts=GETPOST('clone_contacts')?1:0;
|
$clone_contacts=GETPOST('clone_contacts')?1:0;
|
||||||
$clone_tasks=GETPOST('clone_tasks')?1:0;
|
$clone_tasks=GETPOST('clone_tasks')?1:0;
|
||||||
$clone_files=GETPOST('clone_files')?1:0;
|
$clone_project_files = GETPOST('clone_project_files') ? 1 : 0;
|
||||||
|
$clone_task_files = GETPOST('clone_task_files') ? 1 : 0;
|
||||||
$clone_notes=GETPOST('clone_notes')?1:0;
|
$clone_notes=GETPOST('clone_notes')?1:0;
|
||||||
$result=$object->createFromClone($object->id,$clone_contacts,$clone_tasks,$clone_files,$clone_notes);
|
$result=$object->createFromClone($object->id,$clone_contacts,$clone_tasks,$clone_project_files,$clone_task_files,$clone_notes);
|
||||||
if ($result <= 0)
|
if ($result <= 0)
|
||||||
{
|
{
|
||||||
$mesg='<div class="error">'.$object->error.'</div>';
|
$mesg='<div class="error">'.$object->error.'</div>';
|
||||||
@ -479,10 +480,11 @@ else
|
|||||||
{
|
{
|
||||||
$formquestion=array(
|
$formquestion=array(
|
||||||
'text' => $langs->trans("ConfirmClone"),
|
'text' => $langs->trans("ConfirmClone"),
|
||||||
array('type' => 'checkbox', 'name' => 'clone_contacts','label' => $langs->trans("CloneContacts"), 'value' => true),
|
array('type' => 'checkbox', 'name' => 'clone_contacts', 'label' => $langs->trans("CloneContacts"), 'value' => true),
|
||||||
array('type' => 'checkbox', 'name' => 'clone_tasks', 'label' => $langs->trans("CloneTasks"), 'value' => true),
|
array('type' => 'checkbox', 'name' => 'clone_tasks', 'label' => $langs->trans("CloneTasks"), 'value' => true),
|
||||||
array('type' => 'checkbox', 'name' => 'clone_notes', 'label' => $langs->trans("CloneNotes"), 'value' => true),
|
array('type' => 'checkbox', 'name' => 'clone_notes', 'label' => $langs->trans("CloneNotes"), 'value' => true),
|
||||||
array('type' => 'checkbox', 'name' => 'clone_files', 'label' => $langs->trans("CloneFiles"), 'value' => false)
|
array('type' => 'checkbox', 'name' => 'clone_project_files','label' => $langs->trans("CloneProjectFiles"), 'value' => false),
|
||||||
|
array('type' => 'checkbox', 'name' => 'clone_task_files', 'label' => $langs->trans("CloneTaskFiles"), 'value' => false)
|
||||||
);
|
);
|
||||||
|
|
||||||
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("CloneProject"), $langs->trans("ConfirmCloneProject"), "confirm_clone", $formquestion, '', 1, 240);
|
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("CloneProject"), $langs->trans("ConfirmCloneProject"), "confirm_clone", $formquestion, '', 1, 240);
|
||||||
|
|||||||
@ -4,12 +4,13 @@ define("NOCSRFCHECK",1); // We accept to go on this page from external web site.
|
|||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
if (empty($conf->global->MAIN_FEATURES_LEVEL))
|
if (!empty($conf->global->MAIN_FEATURES_LEVEL))
|
||||||
{
|
{
|
||||||
print "Page available onto dev environment only";
|
print "Page available onto dev environment only";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
@ -17,7 +18,7 @@ if (empty($conf->global->MAIN_FEATURES_LEVEL))
|
|||||||
<meta name="robots" content="noindex,nofollow" />
|
<meta name="robots" content="noindex,nofollow" />
|
||||||
<meta name="author" content="Dolibarr Development Team">
|
<meta name="author" content="Dolibarr Development Team">
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="<?php echo DOL_URL_ROOT ?>/theme/eldy/img/favicon.ico"/>
|
<link rel="shortcut icon" type="image/x-icon" href="<?php echo DOL_URL_ROOT ?>/theme/eldy/img/favicon.ico"/>
|
||||||
<title>Login Dolibarr 3.4.0-alpha</title>
|
<title>Test page</title>
|
||||||
<!-- Includes for JQuery (Ajax library) -->
|
<!-- Includes for JQuery (Ajax library) -->
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo DOL_URL_ROOT ?>/includes/jquery/css/smoothness/jquery-ui-latest.custom.css" />
|
<link rel="stylesheet" type="text/css" href="<?php echo DOL_URL_ROOT ?>/includes/jquery/css/smoothness/jquery-ui-latest.custom.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo DOL_URL_ROOT ?>/includes/jquery/plugins/datatables/css/jquery.dataTables.css" />
|
<link rel="stylesheet" type="text/css" href="<?php echo DOL_URL_ROOT ?>/includes/jquery/plugins/datatables/css/jquery.dataTables.css" />
|
||||||
@ -25,6 +26,7 @@ if (empty($conf->global->MAIN_FEATURES_LEVEL))
|
|||||||
<link rel="stylesheet" type="text/css" title="default" href="<?php echo DOL_URL_ROOT ?>/theme/eldy/style.css.php?dol_use_jmobile=1" />
|
<link rel="stylesheet" type="text/css" title="default" href="<?php echo DOL_URL_ROOT ?>/theme/eldy/style.css.php?dol_use_jmobile=1" />
|
||||||
<!-- Includes JS for JQuery -->
|
<!-- Includes JS for JQuery -->
|
||||||
<script type="text/javascript" src="<?php echo DOL_URL_ROOT ?>/includes/jquery/js/jquery-latest.min.js"></script>
|
<script type="text/javascript" src="<?php echo DOL_URL_ROOT ?>/includes/jquery/js/jquery-latest.min.js"></script>
|
||||||
|
<script type="text/javascript" src="<?php echo DOL_URL_ROOT ?>/includes/jquery/plugins/tablednd/jquery.tablednd.0.6.min.js"></script>
|
||||||
<script type="text/javascript" src="<?php echo DOL_URL_ROOT ?>/includes/jquery/plugins/datatables/js/jquery.dataTables.js"></script>
|
<script type="text/javascript" src="<?php echo DOL_URL_ROOT ?>/includes/jquery/plugins/datatables/js/jquery.dataTables.js"></script>
|
||||||
<!--<script type="text/javascript" src="<?php echo DOL_URL_ROOT ?>/includes/jquery/plugins/mobile/jquery.mobile-latest.min.js"></script>-->
|
<!--<script type="text/javascript" src="<?php echo DOL_URL_ROOT ?>/includes/jquery/plugins/mobile/jquery.mobile-latest.min.js"></script>-->
|
||||||
</head>
|
</head>
|
||||||
@ -37,32 +39,43 @@ if (empty($conf->global->MAIN_FEATURES_LEVEL))
|
|||||||
This page is a sample of page using tables. To make test with<br>
|
This page is a sample of page using tables. To make test with<br>
|
||||||
- css (edit page to change)<br>
|
- css (edit page to change)<br>
|
||||||
- jmobile (edit page to enable/disable)<br>
|
- jmobile (edit page to enable/disable)<br>
|
||||||
- dataTables.<br>
|
- dataTables<br>
|
||||||
|
- tablednd<br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
Example 1 : Table using tags: div.tagtable+form+div or div.tagtable+div.tagtr+div.tagtd<br>
|
Example 1 : Table using tags: div.tagtable+form+div or div.tagtable+div.tagtr+div.tagtd<br>
|
||||||
|
<?php
|
||||||
|
$tasksarray=array(1,2,3); // To force having several lines
|
||||||
|
$tagidfortablednd='tablelines';
|
||||||
|
if (! empty($conf->use_javascript_ajax) && $object->statut == 0) include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php';
|
||||||
|
?>
|
||||||
|
|
||||||
<div class="tagtable centpercent" id="abc">
|
<div class="tagtable centpercent" id="tablelines">
|
||||||
<form class="liste_titre" method="POST" action="1.php">
|
<form class="liste_titre" method="POST" action="1.php">
|
||||||
<div>snake<input type="hidden" name="cartitem" value="1"></div>
|
<div>line1<input type="hidden" name="cartitem" value="1"></div>
|
||||||
<div><label><input type="checkbox" name="hidedetails" value="2"> A checkbox inside a cell</label></div>
|
<div><label><input type="checkbox" name="hidedetails" value="2"> A checkbox inside a cell</label></div>
|
||||||
<div><input name="count" value="4"></div>
|
<div><input name="count" value="4"></div>
|
||||||
<div><input type="submit" name="count" class="button noshadow" value="aaa"></div>
|
<div><input type="submit" name="count" class="button noshadow" value="aaa"></div>
|
||||||
</form>
|
</form>
|
||||||
<form class="impair" method="POST" action="2.php">
|
<form class="impair" method="POST" action="2.php">
|
||||||
<div>snagfdgfd gd fgf ke<input type="hidden" name="cartitem" value="2"></div>
|
<div>line2<input type="hidden" name="cartitem" value="2"></div>
|
||||||
<div>dfsdf</div>
|
<div>dfsdf</div>
|
||||||
<div><input name="count" value="4"></div>
|
<div><input name="count" value="4"></div>
|
||||||
<div><input type="submit" value="xxx" class="button"></div>
|
<div class="tdlineupdown"><input type="submit" value="xxx" class="button"></div>
|
||||||
</form>
|
</form>
|
||||||
<div class="pair tagtr" method="GET" action="3.php">
|
<div class="pair tagtr" method="GET" action="3.php">
|
||||||
<div>snagfdgfd gd fgf ke<input type="hidden" name="cartitem" value="3"></div>
|
<div>line3<input type="hidden" name="cartitem" value="3"></div>
|
||||||
<div>dfsdf</div>
|
<div>dfsdf</div>
|
||||||
<div><input name="count" value="4"></div>
|
<div><input name="count" value="4"></div>
|
||||||
<div><input type="submit" value="zzz" class="button"></div>
|
<div class="tdlineupdown"><input type="submit" value="zzz" class="button"></div>
|
||||||
|
</div>
|
||||||
|
<div class="pair tagtr" method="GET" action="3.php">
|
||||||
|
<div>line4<input type="hidden" name="cartitem" value="3"></div>
|
||||||
|
<div>dfsdf</div>
|
||||||
|
<div><input name="count" value="4"></div>
|
||||||
|
<div class="tdlineupdown"><input type="submit" value="zzz" class="button"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -133,68 +146,89 @@ $('xxxth').replaceWith(
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line1</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line2</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line3</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line4</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line5</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line6</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line7</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line8</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line9</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line10</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line11</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>snagfdgfd gd fgf ke</td>
|
<td>line12</td>
|
||||||
<td>dfsdf</td>
|
<td>dfsdf</td>
|
||||||
<td> xxx </td>
|
<td> xxx </td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<br>
|
||||||
|
Example 3 : Standard table<br>
|
||||||
|
<?php
|
||||||
|
$tasksarray=array(1,2,3); // To force having several lines
|
||||||
|
$tagidfortablednd='tablelines3';
|
||||||
|
if (! empty($conf->use_javascript_ajax) && $object->statut == 0) include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php';
|
||||||
|
?>
|
||||||
|
|
||||||
|
<table class="tagtable centpercent centpercent" id="tablelines3">
|
||||||
|
<tr class="liste_titre"><td>title1</td><td class="tdlineupdown">title2</td></tr>
|
||||||
|
<tr class="pair"><td class="pair">a1</td><td class="tdlineupdown pair">b1</td></tr>
|
||||||
|
<tr class="impair"><td class="impair">a2</td><td class="tdlineupdown impair">b2</td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -124,6 +124,7 @@ class Societe extends CommonObject
|
|||||||
var $statut_commercial;
|
var $statut_commercial;
|
||||||
|
|
||||||
var $price_level;
|
var $price_level;
|
||||||
|
var $outstanding_limit;
|
||||||
|
|
||||||
var $datec;
|
var $datec;
|
||||||
var $date_update;
|
var $date_update;
|
||||||
@ -707,7 +708,7 @@ class Societe extends CommonObject
|
|||||||
$sql .= ', s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur, s.parent, s.barcode';
|
$sql .= ', s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur, s.parent, s.barcode';
|
||||||
$sql .= ', s.fk_departement, s.fk_pays as country_id, s.fk_stcomm, s.remise_client, s.mode_reglement, s.cond_reglement, s.tva_assuj';
|
$sql .= ', s.fk_departement, s.fk_pays as country_id, s.fk_stcomm, s.remise_client, s.mode_reglement, s.cond_reglement, s.tva_assuj';
|
||||||
$sql .= ', s.mode_reglement_supplier, s.cond_reglement_supplier, s.localtax1_assuj, s.localtax2_assuj, s.fk_prospectlevel, s.default_lang, s.logo';
|
$sql .= ', s.mode_reglement_supplier, s.cond_reglement_supplier, s.localtax1_assuj, s.localtax2_assuj, s.fk_prospectlevel, s.default_lang, s.logo';
|
||||||
$sql .= ', s.import_key, s.canvas';
|
$sql .= ', s.outstanding_limit, s.import_key, s.canvas';
|
||||||
$sql .= ', fj.libelle as forme_juridique';
|
$sql .= ', fj.libelle as forme_juridique';
|
||||||
$sql .= ', e.libelle as effectif';
|
$sql .= ', e.libelle as effectif';
|
||||||
$sql .= ', p.code as country_code, p.libelle as country';
|
$sql .= ', p.code as country_code, p.libelle as country';
|
||||||
@ -836,6 +837,8 @@ class Societe extends CommonObject
|
|||||||
$this->default_lang = $obj->default_lang;
|
$this->default_lang = $obj->default_lang;
|
||||||
$this->logo = $obj->logo;
|
$this->logo = $obj->logo;
|
||||||
|
|
||||||
|
$this->outstanding_limit = $obj->outstanding_limit;
|
||||||
|
|
||||||
// multiprix
|
// multiprix
|
||||||
$this->price_level = $obj->price_level;
|
$this->price_level = $obj->price_level;
|
||||||
|
|
||||||
@ -2767,6 +2770,71 @@ class Societe extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set outstanding value
|
||||||
|
*
|
||||||
|
* @param User $user User making change
|
||||||
|
* @return int <0 if KO, >0 if OK
|
||||||
|
*/
|
||||||
|
function set_outstanding($user)
|
||||||
|
{
|
||||||
|
if ($this->id)
|
||||||
|
{
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
$outstanding = price2num($this->outstanding_limit);
|
||||||
|
|
||||||
|
// Positionne l'encours de facturaiton
|
||||||
|
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET ";
|
||||||
|
$sql.= " outstanding_limit=".$outstanding;
|
||||||
|
$sql.= " WHERE rowid = ".$this->id;
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::set_outstanding sql=".$sql);
|
||||||
|
$resql=$this->db->query($sql);
|
||||||
|
if (! $resql)
|
||||||
|
{
|
||||||
|
$this->db->rollback();
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return amount of bill not paid
|
||||||
|
*
|
||||||
|
* @return boolean Yes or no
|
||||||
|
*/
|
||||||
|
function get_OutstandingBill()
|
||||||
|
{
|
||||||
|
/* Accurate value of remain to pay is to sum remaintopay for each invoice
|
||||||
|
$paiement = $invoice->getSommePaiement();
|
||||||
|
$creditnotes=$invoice->getSumCreditNotesUsed();
|
||||||
|
$deposits=$invoice->getSumDepositsUsed();
|
||||||
|
$alreadypayed=price2num($paiement + $creditnotes + $deposits,'MT');
|
||||||
|
$remaintopay=price2num($invoice->total_ttc - $paiement - $creditnotes - $deposits,'MT');
|
||||||
|
*/
|
||||||
|
$sql = "SELECT sum(total) as amount FROM ".MAIN_DB_PREFIX."facture as f";
|
||||||
|
$sql .= " WHERE fk_soc = ". $this->id;
|
||||||
|
$sql .= " AND paye = 0";
|
||||||
|
$sql .= " AND fk_statut <> 0";
|
||||||
|
|
||||||
|
dol_syslog("get_OutstandingBill sql=".$sql);
|
||||||
|
$resql=$this->db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$obj=$this->db->fetch_object($resql);
|
||||||
|
return ($obj->amount);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return label of status customer is prospect/customer
|
* Return label of status customer is prospect/customer
|
||||||
*
|
*
|
||||||
|
|||||||
@ -374,6 +374,7 @@ td.showDragHandle {
|
|||||||
}
|
}
|
||||||
.tdlineupdown {
|
.tdlineupdown {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
min-width: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ============================================================================== */
|
/* ============================================================================== */
|
||||||
|
|||||||
@ -256,6 +256,7 @@ td.showDragHandle {
|
|||||||
}
|
}
|
||||||
.tdlineupdown {
|
.tdlineupdown {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
min-width: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -282,6 +282,7 @@ td.showDragHandle {
|
|||||||
}
|
}
|
||||||
.tdlineupdown {
|
.tdlineupdown {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
min-width: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -256,6 +256,7 @@ td.showDragHandle {
|
|||||||
}
|
}
|
||||||
.tdlineupdown {
|
.tdlineupdown {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
min-width: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -426,6 +426,7 @@ td.showDragHandle {
|
|||||||
}
|
}
|
||||||
.tdlineupdown {
|
.tdlineupdown {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
min-width: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user