From ae59ca43cc9f26005cde087af811f4e9577c0b40 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 10 Jan 2018 13:02:05 +0100 Subject: [PATCH] Fix sort of subscriptions --- htdocs/adherents/subscription.php | 47 +++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/htdocs/adherents/subscription.php b/htdocs/adherents/subscription.php index 6f6bd073f05..8d4b7829925 100644 --- a/htdocs/adherents/subscription.php +++ b/htdocs/adherents/subscription.php @@ -1,7 +1,7 @@ +/* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2002-2003 Jean-Louis Bergamo - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2018 Laurent Destailleur * Copyright (C) 2012-2017 Regis Houssin * Copyright (C) 2015-2016 Alexandre Spangaro * @@ -36,18 +36,28 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php'; -$langs->load("companies"); -$langs->load("bills"); -$langs->load("members"); -$langs->load("users"); -$langs->load("mails"); -$langs->load('other'); +$langs->loadLangs(array("companies","bills","members","users","mails",'other')); $action=GETPOST('action','alpha'); $confirm=GETPOST('confirm','alpha'); -$rowid=GETPOST('rowid','int'); +$rowid=GETPOST('rowid','int')?GETPOST('rowid','int'):GETPOST('id','int'); $typeid=GETPOST('typeid','int'); +// Load variable for pagination +$limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit; +$sortfield = GETPOST('sortfield','alpha'); +$sortorder = GETPOST('sortorder','alpha'); +$page = GETPOST('page','int'); +if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + +// Default sort order (if not yet defined by previous GETPOST) +if (! $sortfield) $sortfield="c.rowid"; +if (! $sortorder) $sortorder="DESC"; + + // Security check $result=restrictedArea($user,'adherent',$rowid,'','cotisation'); @@ -98,6 +108,7 @@ $hidedetails = (GETPOST('hidedetails', 'int') ? GETPOST('hidedetails', 'int') : $hidedesc = (GETPOST('hidedesc', 'int') ? GETPOST('hidedesc', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC) ? 1 : 0)); $hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0)); + /* * Actions */ @@ -582,6 +593,16 @@ $title=$langs->trans("Member") . " - " . $langs->trans("Subscriptions"); $helpurl="EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros"; llxHeader("",$title,$helpurl); + +$param=''; +if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); +if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.urlencode($limit); +$param.= '&id='.$rowid; +if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss); +// Add $param from extra fields +//include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; + + if ($rowid > 0) { $res=$object->fetch($rowid); @@ -776,7 +797,7 @@ if ($rowid > 0) /* - * Hotbar + * Action buttons */ // Button to create a new subscription if member no draft neither resiliated @@ -810,6 +831,7 @@ if ($rowid > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON c.fk_bank = b.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_account as ba ON b.fk_account = ba.rowid"; $sql.= " WHERE d.rowid = c.fk_adherent AND d.rowid=".$rowid; + $sql.= $db->order($sortfield, $sortorder); $result = $db->query($sql); if ($result) @@ -822,7 +844,7 @@ if ($rowid > 0) print ''."\n"; print ''; - print ''; + print_liste_field_titre('Ref',$_SERVER["PHP_SELF"],'c.rowid','',$param,'',$sortfield,$sortorder); print ''; print ''; print ''; @@ -1016,8 +1038,9 @@ if ($rowid > 0) $paymentdate=dol_mktime(0, 0, 0, GETPOST('paymentmonth'), GETPOST('paymentday'), GETPOST('paymentyear')); } + print ''; // Date start subscription - print '
'.$langs->trans("Ref").''.$langs->trans("DateCreation").''.$langs->trans("DateStart").''.$langs->trans("DateEnd").'
'.$langs->trans("DateSubscription").''; + print ''.$langs->trans("DateSubscription").''; if (GETPOST('reday')) { $datefrom=dol_mktime(0,0,0,GETPOST('remonth'),GETPOST('reday'),GETPOST('reyear'));