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'); $langs->load('paypal');
$return_arr = array();
$return_arr['element_created'] = false;
// For paypal request optimization // For paypal request optimization
if (! isset($_SESSION[$_GET['transaction_id']]) ) $_SESSION[$_GET['transaction_id']] = GetTransactionDetails($_GET['transaction_id']); 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; $var=true;
echo '<table style="noboardernopading" width="100%">'; $return_arr['contents'] = '<table style="noboardernopading" width="100%">';
echo '<tr class="liste_titre">'; $return_arr['contents'].= '<tr class="liste_titre">';
echo '<td colspan="2">'.$langs->trans('ThirdParty').'</td>'; $return_arr['contents'].= '<td colspan="2">'.$langs->trans('ThirdParty').'</td>';
echo '</tr>'; $return_arr['contents'].= '</tr>';
if ($ret > 0)
{
$var=!$var; $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('ThirdPartyName').'</td><td>'.$soc->getNomUrl(1).'</td></tr>';
}
else
{
$var=!$var; $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('LastName').'</td><td>'.$_SESSION[$_GET['transaction_id']]['LASTNAME'].'</td></tr>';
$var=!$var; $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('FirstName').'</td><td>'.$_SESSION[$_GET['transaction_id']]['FIRSTNAME'].'</td></tr>';
}
$var=!$var; $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('Address').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOSTREET'].'</td></tr>';
$var=!$var; $var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('Country').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOCOUNTRYNAME'].'</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; $var=!$var;
echo '<tr '.$bc[$var].'><td>'.$langs->trans('Email').'</td><td>'.$_SESSION[$_GET['transaction_id']]['EMAIL'].'</td>'; $return_arr['contents'].= '<tr '.$bc[$var].'><td>'.$langs->trans('Country').'</td><td>'.$_SESSION[$_GET['transaction_id']]['SHIPTOCOUNTRYNAME'].'</td></tr>';
$var=!$var; $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('Email').'</td><td>'.$_SESSION[$_GET['transaction_id']]['EMAIL'].'</td>';
$var=!$var;
$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; $var=!$var;
$payerstatus=strtolower($_SESSION[$_GET['transaction_id']]['PAYERSTATUS']); $payerstatus=strtolower($_SESSION[$_GET['transaction_id']]['PAYERSTATUS']);
$img_payerstatus=($payerstatus=='verified' ? img_tick($langs->trans(ucfirst($payerstatus))) : img_warning($langs->trans(ucfirst($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; $var=!$var;
$addressstatus=strtolower($_SESSION[$_GET['transaction_id']]['ADDRESSSTATUS']); $addressstatus=strtolower($_SESSION[$_GET['transaction_id']]['ADDRESSSTATUS']);
$img_addressstatus=($addressstatus=='confirmed' ? img_tick($langs->trans(ucfirst($addressstatus))) : img_warning($langs->trans(ucfirst($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']); $shipamount=($_SESSION[$_GET['transaction_id']]['SHIPPINGAMT']?$_SESSION[$_GET['transaction_id']]['SHIPPINGAMT']:$_SESSION[$_GET['transaction_id']]['SHIPAMOUNT']);
$var=!$var; $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; $i=0;
echo '<table style="noboardernopading" width="100%">'; $return_arr['contents'].= '<table style="noboardernopading" width="100%">';
echo '<tr class="liste_titre">'; $return_arr['contents'].= '<tr class="liste_titre">';
echo '<td>'.$langs->trans('Ref').'</td>'; $return_arr['contents'].= '<td>'.$langs->trans('Ref').'</td>';
echo '<td>'.$langs->trans('Label').'</td>'; $return_arr['contents'].= '<td>'.$langs->trans('Label').'</td>';
echo '<td>'.$langs->trans('Qty').'</td>'; $return_arr['contents'].= '<td>'.$langs->trans('Qty').'</td>';
echo '</tr>'; $return_arr['contents'].= '</tr>';
while (isset($_SESSION[$_GET['transaction_id']]["L_NAME".$i])) while (isset($_SESSION[$_GET['transaction_id']]["L_NAME".$i]))
{ {
$var=!$var; $var=!$var;
echo '<tr '.$bc[$var].'>'; $return_arr['contents'].= '<tr '.$bc[$var].'>';
echo '<td>'.$_SESSION[$_GET['transaction_id']]["L_NUMBER".$i].'</td>'; $return_arr['contents'].= '<td>'.$_SESSION[$_GET['transaction_id']]["L_NUMBER".$i].'</td>';
echo '<td>'.$_SESSION[$_GET['transaction_id']]["L_NAME".$i].'</td>'; $return_arr['contents'].= '<td>'.$_SESSION[$_GET['transaction_id']]["L_NAME".$i].'</td>';
echo '<td>'.$_SESSION[$_GET['transaction_id']]["L_QTY".$i].'</td>'; $return_arr['contents'].= '<td>'.$_SESSION[$_GET['transaction_id']]["L_QTY".$i].'</td>';
echo '</tr>'; $return_arr['contents'].= '</tr>';
$i++; $i++;
} }
echo '</table>'; $return_arr['contents'].= '</table>';
/* /*
echo '<br />'; $return_arr['contents'].= '<br />';
foreach ($_SESSION[$_GET['transaction_id']] as $key => $value) 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("paypal");
$langs->load("paybox"); $langs->load("paybox");
$langs->load("companies"); $langs->load("companies");
$langs->load("orders");
$langs->load("bills");
if (! $conf->global->PAYPAL_ENABLE_TRANSACTION_MANAGEMENT) accessforbidden(); if (! $conf->global->PAYPAL_ENABLE_TRANSACTION_MANAGEMENT) accessforbidden();
@ -137,23 +139,28 @@ if (empty($conf->global->PAYPAL_API_USER) || empty($conf->global->PAYPAL_API_PAS
}); });
$( "div.paypal_link" ).click(function() { $( "div.paypal_link" ).click(function() {
var id_value = $(this).attr("id"); var id_value = $(this).attr("id");
if ($.jnotify) {
$.jnotify("<?php echo $langs->trans('PleaseBePatient'); ?>", 1500); $.jnotify("<?php echo $langs->trans('PleaseBePatient'); ?>", 1500);
} $.getJSON( "<?php echo DOL_URL_ROOT; ?>/paypal/ajaxtransaction.php", {
$.get( "<?php echo DOL_URL_ROOT; ?>/paypal/ajaxtransaction.php", {
action: 'showdetails', action: 'showdetails',
transaction_id: id_value transaction_id: id_value
}, },
function(details) { 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({ $( "div #paypal-details" ).dialog({
modal: true, modal: true,
width: 500, width: 500,
buttons: { 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", { $.getJSON( "<?php echo DOL_URL_ROOT; ?>/paypal/ajaxtransaction.php", {
action: 'add', action: 'add',
@ -172,11 +179,6 @@ 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", { $.getJSON( "<?php echo DOL_URL_ROOT; ?>/paypal/ajaxtransaction.php", {
action: 'add', action: 'add',
@ -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" ); $( 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');
}
}); });
}); });
}); });