From 264112ab59534b3cb145f84c6e3d804ebbd813bf Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Thu, 8 Mar 2018 23:07:58 +0100 Subject: [PATCH] NEW actions on card.php for company and member --- htdocs/stripe/class/actions_stripe.class.php | 217 +++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 htdocs/stripe/class/actions_stripe.class.php diff --git a/htdocs/stripe/class/actions_stripe.class.php b/htdocs/stripe/class/actions_stripe.class.php new file mode 100644 index 00000000000..6101ce31f70 --- /dev/null +++ b/htdocs/stripe/class/actions_stripe.class.php @@ -0,0 +1,217 @@ + + * Copyright (C) 2011 Herve Prot + * Copyright (C) 2014 Philippe Grand + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * \file htdocs/multicompany/actions_multicompany.class.php + * \ingroup multicompany + * \brief File Class multicompany + */ +require_once DOL_DOCUMENT_ROOT.'/stripe/class/stripe.class.php';; +$langs->load("stripeconnect@stripeconnect"); + +/** + * \class ActionsMulticompany + * \brief Class Actions of the module multicompany + */ +class ActionsStripeconnect +{ + /** @var DoliDB */ + var $db; + + private $config=array(); + + // For Hookmanager return + var $resprints; + var $results=array(); + + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + $this->db = $db; + } + + + /** + * + */ + function formObjectOptions($parameters=false, &$object, &$action='') + { + global $db,$conf,$user,$langs,$form; + + if (! empty($conf->stripe->enabled) && (empty($conf->global->STRIPE_LIVE) || empty($conf->global->STRIPECONNECT_LIVE) || GETPOST('forcesandbox','alpha'))) +{ + $service = 'StripeTest'; + dol_htmloutput_mesg($langs->trans('YouAreCurrentlyInSandboxMode','Stripe'),'','warning'); +} +else +{ + $service = 'StripeLive'; +} + + if (is_array($parameters) && ! empty($parameters)) + { + foreach($parameters as $key=>$value) + { + $key=$value; + } + } + + + if (is_object($object) && $object->element == 'societe') + { + $this->resprints.= ''; + $this->resprints.= '
'; + $this->resprints.= $langs->trans('StripeCustomer'); + $this->resprints.= ''; +// $this->resprints.= ''.img_edit().''; + $this->resprints.= '
'; + $this->resprints.= ''; + $this->resprints.= ''; + $stripe=new Stripe($db); +if ($stripe->getStripeAccount($service)&&$object->client!=0) { +$customer=$stripe->customerStripe($object->id,$stripe->getStripeAccount($service)); +$this->resprints.= $customer->id; +} +else { +$this->resprints.= $langs->trans("NoStripe"); +} + $this->resprints.= ''; + + } + elseif (is_object($object) && $object->element == 'member'){ + $this->resprints.= ''; + $this->resprints.= '
'; + $this->resprints.= $langs->trans('StripeCustomer'); + $this->resprints.= ''; + $this->resprints.= '
'; + $this->resprints.= ''; + $this->resprints.= ''; + $stripe=new Stripe($db); +if ($stripe->getStripeAccount($service)&&$object->fk_soc>'0') { +$customer=$stripe->customerStripe($object->fk_soc,$stripe->getStripeAccount($service)); +$this->resprints.= $customer->id; +} +else { +$this->resprints.= $langs->trans("NoStripe"); +} + $this->resprints.= ''; + + $this->resprints.= ''; + $this->resprints.= '
'; + $this->resprints.= $langs->trans('SubscriptionStripe'); + $this->resprints.= ''; + $this->resprints.= '
'; + $this->resprints.= ''; + $this->resprints.= ''; + $stripe=new Stripe($db); +if (7==4) { +$customer=$stripe->customerStripe($object->id,$stripe->getStripeAccount($service)); +$this->resprints.= $customer->id; +} +else { +$this->resprints.= $langs->trans("NoStripe"); +} + $this->resprints.= ''; + } + elseif (is_object($object) && $object->element == 'adherent_type'){ + $this->resprints.= ''; + $this->resprints.= '
'; + $this->resprints.= $langs->trans('PlanStripe'); + $this->resprints.= ''; +// $this->resprints.= ''.img_edit().''; + $this->resprints.= '
'; + $this->resprints.= ''; + $this->resprints.= ''; + $stripe=new Stripe($db); +if (7==4) { +$customer=$stripe->customerStripe($object->id,$stripe->getStripeAccount($service)); +$this->resprints.= $customer->id; +} +else { +$this->resprints.= $langs->trans("NoStripe"); +} + $this->resprints.= ''; + } + return 0; + } + + function addMoreActionsButtons($parameters=false, &$object, &$action='') + { + global $db,$conf,$user,$langs,$form; + if (is_object($object) && $object->element == 'facture'){ + // On verifie si la facture a des paiements + $sql = 'SELECT pf.amount'; + $sql .= ' FROM ' . MAIN_DB_PREFIX . 'paiement_facture as pf'; + $sql .= ' WHERE pf.fk_facture = ' . $object->id; + + $result = $db->query($sql); + if ($result) { + $i = 0; + $num = $db->num_rows($result); + + while ($i < $num) { + $objp = $db->fetch_object($result); + $totalpaye += $objp->amount; + $i ++; + } + } else { + dol_print_error($db, ''); + } + + $resteapayer = $object->total_ttc - $totalpaye; + // Request a direct debit order + if ($object->statut > Facture::STATUS_DRAFT && $object->statut < Facture::STATUS_ABANDONED && $object->paye == 0) + { $stripe=new Stripe($db); + if ($resteapayer > 0) + { + if ($stripe->getStripeAccount($conf->entity)) // a modifier avec droit stripe + { + $langs->load("withdrawals"); + print ''.$langs->trans("StripeConnectPay").''; + } + else + { + print ''.$langs->trans("StripeConnectPay").''; + } + } + elseif ($resteapayer == 0) + { + print ''.$langs->trans("StripeConnectPay").''; + } + } + else { + print ''.$langs->trans("StripeConnectPay").''; + } + } + elseif (is_object($object) && $object->element == 'invoice_supplier'){ +print ''.$langs->trans("StripeConnectPay").''; + } + elseif (is_object($object) && $object->element == 'member'){ +print ''.$langs->trans("StripeAutoSubscription").''; + } + return 0; + } + +}