* * 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, see . */ /** * \file htdocs/adherents/fiche_subscription.php * \ingroup member * \brief Page to add/edit/remove a member subscription */ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php'; require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; require_once DOL_DOCUMENT_ROOT.'/adherents/class/cotisation.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $langs->load("companies"); $langs->load("bills"); $langs->load("members"); $langs->load("users"); $adh = new Adherent($db); $subscription = new Cotisation($db); $errmsg=''; $action=isset($_GET["action"])?$_GET["action"]:$_POST["action"]; $rowid=isset($_GET["rowid"])?$_GET["rowid"]:$_POST["rowid"]; $typeid=isset($_GET["typeid"])?$_GET["typeid"]:$_POST["typeid"]; if (! $user->rights->adherent->cotisation->lire) accessforbidden(); /* * Actions */ if ($user->rights->adherent->cotisation->creer && $_REQUEST["action"] == 'update' && ! $_POST["cancel"]) { // Charge objet actuel $result=$subscription->fetch($_POST["rowid"]); if ($result > 0) { $db->begin(); $errmsg=''; if ($subscription->fk_bank) { $accountline=new AccountLine($db); $result=$accountline->fetch($subscription->fk_bank); // If transaction consolidated if ($accountline->rappro) { $errmsg=$langs->trans("SubscriptionLinkedToConciliatedTransaction"); } else { $accountline->datev=dol_mktime($_POST['datesubhour'], $_POST['datesubmin'], 0, $_POST['datesubmonth'], $_POST['datesubday'], $_POST['datesubyear']); $accountline->dateo=dol_mktime($_POST['datesubhour'], $_POST['datesubmin'], 0, $_POST['datesubmonth'], $_POST['datesubday'], $_POST['datesubyear']); $accountline->amount=$_POST["amount"]; $result=$accountline->update($user); if ($result < 0) { $errmsg=$accountline->error; } } } if (! $errmsg) { // Modifie valeures $subscription->dateh=dol_mktime($_POST['datesubhour'], $_POST['datesubmin'], 0, $_POST['datesubmonth'], $_POST['datesubday'], $_POST['datesubyear']); $subscription->datef=dol_mktime($_POST['datesubendhour'], $_POST['datesubendmin'], 0, $_POST['datesubendmonth'], $_POST['datesubendday'], $_POST['datesubendyear']); $subscription->note=$_POST["note"]; $subscription->amount=$_POST["amount"]; //print 'datef='.$subscription->datef.' '.$_POST['datesubendday']; $result=$subscription->update($user); if ($result >= 0 && ! count($subscription->errors)) { $db->commit(); header("Location: fiche_subscription.php?rowid=".$subscription->id); exit; } else { $db->rollback(); if ($subscription->error) { $errmsg=$subscription->error; } else { foreach($subscription->errors as $error) { if ($errmsg) $errmsg.='
'; $errmsg.=$error; } } $action=''; } } else { $db->rollback(); } } } if ($_REQUEST["action"] == 'confirm_delete' && $_REQUEST["confirm"] == 'yes' && $user->rights->adherent->cotisation->creer) { $result=$subscription->fetch($rowid); $result=$subscription->delete($user); if ($result > 0) { header("Location: card_subscriptions.php?rowid=".$subscription->fk_adherent); exit; } else { $mesg=$adh->error; } } /* * View */ llxHeader('',$langs->trans("SubscriptionCard"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'); $form = new Form($db); dol_htmloutput_errors($errmsg); if ($user->rights->adherent->cotisation->creer && $action == 'edit') { /******************************************** * * Fiche en mode edition * ********************************************/ $subscription->fetch($rowid); $result=$adh->fetch($subscription->fk_adherent); /* * Affichage onglets */ $h = 0; $head = array(); $head[$h][0] = DOL_URL_ROOT.'/adherents/fiche_subscription.php?rowid='.$subscription->id; $head[$h][1] = $langs->trans("SubscriptionCard"); $head[$h][2] = 'general'; $h++; $head[$h][0] = DOL_URL_ROOT.'/adherents/info_subscription.php?rowid='.$subscription->id; $head[$h][1] = $langs->trans("Info"); $head[$h][2] = 'info'; $h++; dol_fiche_head($head, 'general', $langs->trans("Subscription"), 0, 'payment'); print "\n"; print '
'; print ''; print ""; print ""; print "fk_bank."\">"; print ''; // Ref print ''; // Member $adh->ref=$adh->getFullName($langs); print ''; print ''; print ''; // Date start subscription print ''; print ''; // Date end subscription print ''; print ''; // Amount print ''; // Label print ''; // Bank line if (! empty($conf->banque->enabled)) { if ($conf->global->ADHERENT_BANK_USE || $subscription->fk_bank) { print ''; } } print ''; print '
'.$langs->trans("Ref").''.$subscription->ref.' 
'.$langs->trans("Member").''.$adh->getNomUrl(1,0,'subscription').'
'.$langs->trans("DateSubscription").''; $form->select_date($subscription->dateh,'datesub',1,1,0,'update',1); print '
'.$langs->trans("DateEndSubscription").''; $form->select_date($subscription->datef,'datesubend',0,0,0,'update',1); print '
'.$langs->trans("Amount").''; print '
'.$langs->trans("Label").''; print '
'.$langs->trans("BankTransactionLine").''; if ($subscription->fk_bank) { $bankline=new AccountLine($db); $result=$bankline->fetch($subscription->fk_bank); print $bankline->getNomUrl(1,0,'showall'); } else { print $langs->trans("NoneF"); } print '
'; print ''; print '       '; print ''; print '
'; print '
'; print "\n"; print ''; print "\n"; } if ($rowid && $action != 'edit') { /* ************************************************************************** */ /* */ /* Mode affichage */ /* */ /* ************************************************************************** */ $result=$subscription->fetch($rowid); $result=$adh->fetch($subscription->fk_adherent); /* * Affichage onglets */ $h = 0; $head = array(); $head[$h][0] = DOL_URL_ROOT.'/adherents/fiche_subscription.php?rowid='.$subscription->id; $head[$h][1] = $langs->trans("SubscriptionCard"); $head[$h][2] = 'general'; $h++; $head[$h][0] = DOL_URL_ROOT.'/adherents/info_subscription.php?rowid='.$subscription->id; $head[$h][1] = $langs->trans("Info"); $head[$h][2] = 'info'; $h++; dol_fiche_head($head, 'general', $langs->trans("Subscription"), '', 'payment'); // Confirmation to delete subscription if ($action == 'delete') { //$formquestion=array(); //$formquestion['text']=''.$langs->trans("ThisWillAlsoDeleteBankRecord").''; $text=$langs->trans("ConfirmDeleteSubscription"); if (! empty($conf->banque->enabled) && ! empty($conf->global->ADHERENT_BANK_USE)) $text.='
'.img_warning().' '.$langs->trans("ThisWillAlsoDeleteBankRecord"); print $form->formconfirm($_SERVER["PHP_SELF"]."?rowid=".$subscription->id,$langs->trans("DeleteSubscription"),$text,"confirm_delete",$formquestion,0,1); } print '
'; print ''; print ''; $linkback = ''.$langs->trans("BackToList").''; // Ref print ''; print ''; // Member $adh->ref=$adh->getFullName($langs); print ''; print ''; print ''; // Date record /*print ''; print ''; print '';*/ // Date subscription print ''; print ''; print ''; // Date end subscription print ''; print ''; print ''; // Amount print ''; // Amount print ''; // Bank line if (! empty($conf->banque->enabled)) { if ($conf->global->ADHERENT_BANK_USE || $subscription->fk_bank) { print ''; } } print "
'.$langs->trans("Ref").''; print $form->showrefnav($subscription, 'rowid', $linkback, 1); print '
'.$langs->trans("Member").''.$adh->getNomUrl(1,0,'subscription').'
'.$langs->trans("DateSubscription").''.dol_print_date($subscription->datec,'dayhour').'
'.$langs->trans("DateSubscription").''.dol_print_date($subscription->dateh,'day').'
'.$langs->trans("DateEndSubscription").''.dol_print_date($subscription->datef,'day').'
'.$langs->trans("Amount").''.price($subscription->amount).'
'.$langs->trans("Label").''.$subscription->note.'
'.$langs->trans("BankTransactionLine").''; if ($subscription->fk_bank) { $bankline=new AccountLine($db); $result=$bankline->fetch($subscription->fk_bank); print $bankline->getNomUrl(1,0,'showall'); } else { print $langs->trans("NoneF"); } print '
\n"; print '
'; print "\n"; /* * Barre d'actions * */ print '
'; if ($user->rights->adherent->cotisation->creer) { if (! $bankline->rappro) { print '"; } else { print '"; } } // Supprimer if ($user->rights->adherent->cotisation->creer) { print '\n"; } print '
'; print "
\n"; } $db->close(); llxFooter();