Works on paypal module

Fix: disable create buttons if already import
Fix: add link to thirdparty card
This commit is contained in:
Regis Houssin 2011-05-23 14:55:41 +00:00
parent acfde5e0d1
commit 7f56bc1b02
2 changed files with 111 additions and 52 deletions

View File

@ -264,79 +264,125 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
{
$langs->load('paypal');
$return_arr = array();
$return_arr['element_created'] = false;
// For paypal request optimization
if (! isset($_SESSION[$_GET['transaction_id']]) ) $_SESSION[$_GET['transaction_id']] = GetTransactionDetails($_GET['transaction_id']);
// Check if already import
$i=0;
$objectArray = array();
if ($conf->commande->enabled) {
$elementArray[$i] = 'order';
$i++;
}
if ($conf->facture->enabled) {
$elementArray[$i] = 'invoice';
}
foreach($elementArray as $element)
{
if ($element == 'order') { $element = $subelement = 'commande'; }
if ($element == 'invoice') { $element = 'compta/facture'; $subelement = 'facture'; }
dol_include_once('/'.$element.'/class/'.$subelement.'.class.php');
$classname = ucfirst($subelement);
$object = new $classname($db);
$res = $object->fetchObjectFromRefExt($object->table_element, $_GET['transaction_id']);
if ($res > 0)
{
$return_arr['element_created'] = true;
$objectArray[$element] = $object;
}
}
$soc = new Societe($db);
$ret = $soc->fetchObjectFromRefExt($soc->table_element, $_SESSION[$_GET['transaction_id']]['PAYERID']);
$var=true;
echo '<table style="noboardernopading" width="100%">';
echo '<tr class="liste_titre">';
echo '<td colspan="2">'.$langs->trans('ThirdParty').'</td>';
echo '</tr>';
$return_arr['contents'] = '<table style="noboardernopading" width="100%">';
$return_arr['contents'].= '<tr class="liste_titre">';
$return_arr['contents'].= '<td colspan="2">'.$langs->trans('ThirdParty').'</td>';
$return_arr['contents'].= '</tr>';
if ($ret > 0)
{
$var=!$var;
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('ThirdPartyName').'</td><td>'.$soc->getNomUrl(1).'</td></tr>';
}
else
{
$var=!$var;
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('LastName').'</td><td>'.$_SESSION[$_GET['transaction_id']]['LASTNAME'].'</td></tr>';
$var=!$var;
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('FirstName').'</td><td>'.$_SESSION[$_GET['transaction_id']]['FIRSTNAME'].'</td></tr>';
}
$var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('LastName').'</td><td>'.$_SESSION[$_GET['transaction_id']]['LASTNAME'].'</td></tr>';
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('Address').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOSTREET'].'</td></tr>';
$var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('FirstName').'</td><td>'.$_SESSION[$_GET['transaction_id']]['FIRSTNAME'].'</td></tr>';
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('Zip').' / '.$langs->trans('Town').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOZIP'].' '.$_SESSION[$_GET['transaction_id']]['SHIPTOCITY'].'</td></tr>';
$var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('Address').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOSTREET'].'</td></tr>';
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('Country').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOCOUNTRYNAME'].'</td></tr>';
$var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('Zip').' / '.$langs->trans('Town').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOZIP'].' '.$_SESSION[$_GET['transaction_id']]['SHIPTOCITY'].'</td></tr>';
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('Email').'</td><td>'.$_SESSION[$_GET['transaction_id']]['EMAIL'].'</td>';
$var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('Country').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOCOUNTRYNAME'].'</td></tr>';
$var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('Email').'</td><td>'.$_SESSION[$_GET['transaction_id']]['EMAIL'].'</td>';
$var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('Date').'</td><td>'.dol_print_date(dol_stringtotime($_SESSION[$_GET['transaction_id']]['ORDERTIME']),'dayhour').'</td>';
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('Date').'</td><td>'.dol_print_date(dol_stringtotime($_SESSION[$_GET['transaction_id']]['ORDERTIME']),'dayhour').'</td>';
$var=!$var;
$payerstatus=strtolower($_SESSION[$_GET['transaction_id']]['PAYERSTATUS']);
$img_payerstatus=($payerstatus=='verified' ? img_tick($langs->trans(ucfirst($payerstatus))) : img_warning($langs->trans(ucfirst($payerstatus))) );
echo '<tr '.$bc[$var].'><td>'.$langs->trans('PAYERSTATUS').'</td><td>'.$img_payerstatus.'</td>';
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('PAYERSTATUS').'</td><td>'.$img_payerstatus.'</td>';
$var=!$var;
$addressstatus=strtolower($_SESSION[$_GET['transaction_id']]['ADDRESSSTATUS']);
$img_addressstatus=($addressstatus=='confirmed' ? img_tick($langs->trans(ucfirst($addressstatus))) : img_warning($langs->trans(ucfirst($addressstatus))) );
echo '<tr '.$bc[$var].'><td>'.$langs->trans('ADDRESSSTATUS').'</td><td>'.$img_addressstatus.'</td>';
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('ADDRESSSTATUS').'</td><td>'.$img_addressstatus.'</td>';
$shipamount=($_SESSION[$_GET['transaction_id']]['SHIPPINGAMT']?$_SESSION[$_GET['transaction_id']]['SHIPPINGAMT']:$_SESSION[$_GET['transaction_id']]['SHIPAMOUNT']);
$var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('SHIPAMOUNT').'</td><td>'.price($shipamount).' '.$_SESSION[$_GET['transaction_id']]['CURRENCYCODE'].'</td>';
$return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('SHIPAMOUNT').'</td><td>'.price($shipamount).' '.$_SESSION[$_GET['transaction_id']]['CURRENCYCODE'].'</td>';
echo '</table>';
$return_arr['contents'].= '</table>';
$i=0;
echo '<table style="noboardernopading" width="100%">';
$return_arr['contents'].= '<table style="noboardernopading" width="100%">';
echo '<tr class="liste_titre">';
echo '<td>'.$langs->trans('Ref').'</td>';
echo '<td>'.$langs->trans('Label').'</td>';
echo '<td>'.$langs->trans('Qty').'</td>';
echo '</tr>';
$return_arr['contents'].= '<tr class="liste_titre">';
$return_arr['contents'].= '<td>'.$langs->trans('Ref').'</td>';
$return_arr['contents'].= '<td>'.$langs->trans('Label').'</td>';
$return_arr['contents'].= '<td>'.$langs->trans('Qty').'</td>';
$return_arr['contents'].= '</tr>';
while (isset($_SESSION[$_GET['transaction_id']]["L_NAME".$i]))
{
$var=!$var;
echo '<tr '.$bc[$var].'>';
echo '<td>'.$_SESSION[$_GET['transaction_id']]["L_NUMBER".$i].'</td>';
echo '<td>'.$_SESSION[$_GET['transaction_id']]["L_NAME".$i].'</td>';
echo '<td>'.$_SESSION[$_GET['transaction_id']]["L_QTY".$i].'</td>';
echo '</tr>';
$return_arr['contents'].= '<tr '.$bc[$var].'>';
$return_arr['contents'].= '<td>'.$_SESSION[$_GET['transaction_id']]["L_NUMBER".$i].'</td>';
$return_arr['contents'].= '<td>'.$_SESSION[$_GET['transaction_id']]["L_NAME".$i].'</td>';
$return_arr['contents'].= '<td>'.$_SESSION[$_GET['transaction_id']]["L_QTY".$i].'</td>';
$return_arr['contents'].= '</tr>';
$i++;
}
echo '</table>';
/*
echo '<br />';
$return_arr['contents'].= '</table>';
/*
$return_arr['contents'].= '<br />';
foreach ($_SESSION[$_GET['transaction_id']] as $key => $value)
{
echo $key.': '.$value.'<br />';
$return_arr['contents'].= $key.': '.$value.'<br />';
}
*/
*/
echo json_encode($return_arr);
}
}

View File

@ -31,6 +31,8 @@ require_once(DOL_DOCUMENT_ROOT."/paypal/lib/paypalfunctions.lib.php");
$langs->load("paypal");
$langs->load("paybox");
$langs->load("companies");
$langs->load("orders");
$langs->load("bills");
if (! $conf->global->PAYPAL_ENABLE_TRANSACTION_MANAGEMENT) accessforbidden();
@ -137,24 +139,29 @@ if (empty($conf->global->PAYPAL_API_USER) || empty($conf->global->PAYPAL_API_PAS
});
$( "div.paypal_link" ).click(function() {
var id_value = $(this).attr("id");
if ($.jnotify) {
$.jnotify("<?php echo $langs->trans('PleaseBePatient'); ?>", 1500);
}
$.get( "<?php echo DOL_URL_ROOT; ?>/paypal/ajaxtransaction.php", {
$.jnotify("<?php echo $langs->trans('PleaseBePatient'); ?>", 1500);
$.getJSON( "<?php echo DOL_URL_ROOT; ?>/paypal/ajaxtransaction.php", {
action: 'showdetails',
transaction_id: id_value
},
function(details) {
$( "div #paypal_detail_content" ).html(details);
var $order_enabled = <?php echo ($conf->commande->enabled ? 'true' : 'false'); ?>;
var $invoice_enabled = <?php echo ($conf->facture->enabled ? 'true' : 'false'); ?>;
var $element_created = false;
$.each(details, function(key,value) {
if (key == 'contents') {
$( "div #paypal_detail_content" ).html(value);
}
if (key == 'element_created' && value == true) {
$element_created = true;
}
});
$( "div #paypal-details" ).dialog({
modal: true,
width: 500,
buttons: {
<?php
if ($conf->commande->enabled)
{
$langs->load("orders"); ?>
'<?php echo $langs->transnoentities('CreateOrder'); ?>': function() {
'<?php echo $langs->transnoentities('CreateOrder'); ?>': function() {
$.getJSON( "<?php echo DOL_URL_ROOT; ?>/paypal/ajaxtransaction.php", {
action: 'add',
element: 'order',
@ -172,12 +179,7 @@ if (empty($conf->global->PAYPAL_API_USER) || empty($conf->global->PAYPAL_API_PAS
});
});
},
<?php } ?>
<?php
if ($conf->facture->enabled)
{
$langs->load("bills"); ?>
'<?php echo $langs->transnoentities('CreateBill'); ?>': function() {
'<?php echo $langs->transnoentities('CreateBill'); ?>': function() {
$.getJSON( "<?php echo DOL_URL_ROOT; ?>/paypal/ajaxtransaction.php", {
action: 'add',
element: 'invoice',
@ -195,12 +197,23 @@ if (empty($conf->global->PAYPAL_API_USER) || empty($conf->global->PAYPAL_API_PAS
});
});
},
<?php } ?>
'<?php echo $langs->transnoentities('Cancel'); ?>': function() {
'<?php echo $langs->transnoentities('Cancel'); ?>': function() {
$( this ).dialog( "close" );
}
}
});
if (! $order_enabled) {
$('.ui-dialog-buttonpane button').eq(0).hide();
}
if ($order_enabled && $element_created) {
$('.ui-dialog-buttonpane button').eq(0).button('disable');
}
if (! $invoice_enabled) {
$('.ui-dialog-buttonpane button').eq(1).hide();
}
if ($invoice_enabled && $element_created) {
$('.ui-dialog-buttonpane button').eq(1).button('disable');
}
});
});
});