$trans->end_date_filter = $_GET['end_date_filter'];
            }
        } catch (Exception $e) {
            $error_detected[] = $e->getMessage();
        }
    }
}
if (($login->isAdmin() || $login->isStaff()) && isset($_GET['id_adh']) && $_GET['id_adh'] != '') {
    if ($_GET['id_adh'] == 'all') {
        $trans->filtre_cotis_adh = null;
    } else {
        $trans->filtre_cotis_adh = $_GET['id_adh'];
    }
}
if ($login->isAdmin() || $login->isStaff()) {
    $trans_id = get_numeric_form_value('sup', '');
    if ($trans_id != '') {
        $trans->removeTransactions($trans_id);
    }
}
$session['transactions'] = serialize($trans);
$list_trans = $trans->getTransactionsList(true);
//assign pagination variables to the template and add pagination links
$trans->setSmartyPagination($tpl);
$tpl->assign('page_title', _T("Transactions managment"));
$tpl->assign('require_dialog', true);
$tpl->assign('require_calendar', true);
$tpl->assign('list_trans', $list_trans);
$tpl->assign('transactions', $trans);
$tpl->assign('nb_transactions', $trans->getCount());
if ($trans->filtre_cotis_adh != null) {
Example #2
0
 *
 * You should have received a copy of the GNU General Public License
 * along with Galette. If not, see <http://www.gnu.org/licenses/>.
 *
 * @category  Plugins
 * @package   Galette
 * @author    Johan Cwiklinski <*****@*****.**>
 * @copyright 2012-2014 The Galette Team
 * @license   http://www.gnu.org/licenses/gpl-3.0.html GPL License 3.0 or (at your option) any later version
 * @version   SVN: $Id$
 * @link      http://galette.tuxfamily.org
 * @since     Available since 0.7dev - 2012-01-19
 */
use Analog\Analog;
require_once 'includes/galette.inc.php';
$id = get_numeric_form_value(Galette\Entity\Group::PK, '');
if (!$id) {
    Analog::log('Trying to display ajax_group.php without groups specified', Analog::INFO);
    die;
}
if (!$login->isLogged() || !$login->isAdmin() && !$login->isStaff() && !$login->isGroupManager($id)) {
    Analog::log('Trying to display ajax_group.php without appropriate permissions', Analog::INFO);
    die;
}
// check for ajax mode
$ajax = isset($_POST['ajax']) && $_POST['ajax'] == 'true' ? true : false;
$group = new Galette\Entity\Group((int) $id);
if (!isset($_POST['reorder'])) {
    $groups = new Galette\Repository\Groups();
    $tpl->assign('ajax', $ajax);
    $tpl->assign('group', $group);
include WEB_ROOT . "includes/smarty.inc.php";
include WEB_ROOT . "includes/dynamic_fields.inc.php";
function missing_contrib_amount($DB, $trans_id, $error_detected)
{
    if (is_numeric($trans_id)) {
        $total_amount = db_get_one($DB, "SELECT trans_amount\n\t\t\t\t\t\t\t  FROM " . PREFIX_DB . "transactions\n\t\t\t\t\t\t\t  WHERE trans_id={$trans_id}", $error_detected);
        $current_amount = $DB->GetOne("SELECT SUM(montant_cotis)\n\t\t\t\t\t\t\tFROM " . PREFIX_DB . "cotisations\n\t\t\t\t\t\t\tWHERE trans_id={$trans_id}");
        return $total_amount - $current_amount;
    }
    return 0;
}
// new or edit
$contribution['id_cotis'] = get_numeric_form_value("id_cotis", '');
$contribution['id_type_cotis'] = get_numeric_form_value("id_type_cotis", '');
$contribution['id_adh'] = get_numeric_form_value("id_adh", '');
$contribution['trans_id'] = get_numeric_form_value("trans_id", '');
$adh_selected = isset($contribution['id_adh']);
$tpl->assign("adh_selected", $adh_selected);
$type_selected = $contribution['id_cotis'] != '' || get_form_value("type_selected", 0);
$tpl->assign("type_selected", $type_selected);
$cotis_extension = 0;
if (isset($contribution['id_type_cotis'])) {
    $request = "SELECT cotis_extension\n\t\t\t    FROM " . PREFIX_DB . "types_cotisation\n\t\t\t    WHERE id_type_cotis = " . $contribution['id_type_cotis'];
    $cotis_extension = $DB->GetOne($request);
}
// initialize warning
$error_detected = array();
// flagging required fields
$required = array('montant_cotis' => 1, 'date_debut_cotis' => 1, 'date_fin_cotis' => $cotis_extension, 'id_type_cotis' => 1, 'id_adh' => 1);
// Validation
$contribution['dyn'] = array();
include "includes/config.inc.php";
include "includes/database.inc.php";
include "includes/session.inc.php";
if ($_SESSION["logged_status"] == 0) {
    header("location: index.php");
    die;
}
include "includes/functions.inc.php";
include "includes/i18n.inc.php";
include "includes/smarty.inc.php";
include "includes/dynamic_fields.inc.php";
require_once 'includes/picture.class.php';
// new or edit
$adherent["id_adh"] = "";
if ($_SESSION["admin_status"] == 1) {
    $adherent["id_adh"] = get_numeric_form_value("id_adh", "");
    // disable some fields
    $disabled = array('id_adh' => 'disabled="disabled"', 'date_echeance' => 'disabled="disabled"');
    if (PREF_MAIL_METHOD == 0) {
        $disabled['send_mail'] = 'disabled="disabled"';
    }
} else {
    $adherent["id_adh"] = $_SESSION["logged_id_adh"];
    // disable some fields
    $disabled = array('titre_adh' => 'disabled', 'id_adh' => 'disabled="disabled"', 'nom_adh' => 'disabled="disabled"', 'prenom_adh' => 'disabled="disabled"', 'date_crea_adh' => 'disabled="disabled"', 'id_statut' => 'disabled="disabled"', 'activite_adh' => 'disabled="disabled"', 'bool_exempt_adh' => 'disabled="disabled"', 'bool_admin_adh' => 'disabled="disabled"', 'date_echeance' => 'disabled="disabled"', 'info_adh' => 'disabled="disabled"');
}
// initialize warnings
$error_detected = array();
$warning_detected = array();
$confirm_detected = array();
// flagging required fields
 * 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.
 *
 */
include "includes/config.inc.php";
include WEB_ROOT . "includes/database.inc.php";
include WEB_ROOT . "includes/session.inc.php";
if ($_SESSION["logged_status"] == 0) {
    header("location: index.php");
    die;
}
include WEB_ROOT . "includes/functions.inc.php";
$id_adh = get_numeric_form_value("id_adh", "");
if ($_SESSION["admin_status"] == 0) {
    $id_adh = $_SESSION["logged_id_adh"];
}
if ($id_adh == "") {
    header("location: index.php");
    die;
}
include_once "includes/i18n.inc.php";
include WEB_ROOT . "includes/smarty.inc.php";
include WEB_ROOT . "includes/dynamic_fields.inc.php";
require_once 'includes/picture.class.php';
$requete = "SELECT * \n\t\t    FROM " . PREFIX_DB . "adherents \n\t\t    WHERE id_adh={$id_adh}";
$result =& $DB->Execute($requete);
if ($result->EOF) {
    header("location: index.php");
    die;
}
if (!$login->isAdmin() && !$login->isStaff()) {
    header('location: voir_adherent.php');
    die;
}
$trans = new Transaction();
//TODO: dynamic fields should be handled by Transaction object
$dyn_fields = new DynamicFields();
// new or edit
$trans_id = get_numeric_form_value("trans_id", '');
$transaction['trans_id'] = get_numeric_form_value("trans_id", '');
$transaction['trans_amount'] = get_numeric_form_value("trans_amount", '');
$transaction['trans_date'] = get_form_value("trans_date", '');
$transaction['trans_desc'] = get_form_value("trans_desc", '');
$transaction['id_adh'] = get_numeric_form_value("id_adh", '');
// flagging required fields
$required = array('trans_amount' => 1, 'trans_date' => 1, 'trans_desc' => 1, 'id_adh' => 1);
$disabled = array();
if (isset($_GET['detach'])) {
    if (!Contribution::unsetTransactionPart($trans_id, $_GET['detach'])) {
        $error_detected[] = _T("Unable to detach contribution from transaction");
    } else {
        $success_detected[] = _T("Contribution has been successfully detached from current transaction");
    }
}
if (isset($_GET['cid']) && $_GET['cid'] != null) {
    if (!Contribution::setTransactionPart($trans_id, $_GET['cid'])) {
        $error_detected[] = _T("Unable to attach contribution to transaction");
    } else {
        $success_detected[] = _T("Contribution has been successfully attached to current transaction");
Example #7
0
use Galette\Repository\Groups;
use Galette\Filters\MembersList;
/** @ignore */
require_once 'includes/galette.inc.php';
if (!$login->isLogged()) {
    header('location: index.php');
    die;
}
$deps = array('picture' => true, 'groups' => true, 'dues' => true, 'parent' => true, 'children' => true);
$member = new Adherent(null, $deps);
//TODO: dynamic fields should be handled by Adherent object
$dyn_fields = new DynamicFields();
// new or edit
$adherent['id_adh'] = get_numeric_form_value('id_adh', '');
if ($login->isAdmin() || $login->isStaff() || $login->isGroupManager()) {
    $adherent['id_adh'] = get_numeric_form_value('id_adh', '');
    if ($adherent['id_adh']) {
        $member->load($adherent['id_adh']);
        if (!$login->isAdmin() && !$login->isStaff() && $login->isGroupManager()) {
            //check if current logged in user can manage loaded member
            $groups = $member->groups;
            $can_manage = false;
            foreach ($groups as $group) {
                if ($login->isGroupManager($group->getId())) {
                    $can_manage = true;
                    break;
                }
            }
            if ($can_manage !== true) {
                Analog::log('Logged in member ' . $login->login . ' has tried to load member #' . $member->id . ' but do not manage any groups he belongs to.', Analog::WARNING);
                $member->load($login->id);
Example #8
0
    header('location: voir_adherent.php');
    die;
} else {
    if (!$login->isAdmin()) {
        header('location: gestion_adherents.php');
        die;
    }
}
$dyn_fields = new DynamicFields();
$all_forms = $dyn_fields->getFormsNames();
$form_name = get_form_value('form', '');
if (!isset($all_forms[$form_name])) {
    header('location: configurer_fiches.php');
    die;
}
$field_id = get_numeric_form_value("id", '');
if ($field_id == '') {
    header('location: configurer_fiches.php?form=' . $form_name);
    die;
}
$df = $dyn_fields->loadFieldType($field_id);
if ($df === false) {
    $error_detected[] = _T("Unable to retrieve field informations.");
}
$data = array('id' => $field_id);
if (isset($_POST['valid'])) {
    $field_name = $_POST['field_name'];
    $field_perm = get_numeric_posted_value('field_perm', '');
    $field_required = get_numeric_posted_value('field_required', '0');
    $field_width = get_numeric_posted_value('field_width', null);
    $field_height = get_numeric_posted_value('field_height', null);
Example #9
0
 * @link      http://galette.tuxfamily.org
 * @since     Available since 0.60
 */
use Galette\Entity\DynamicFields;
use Galette\Entity\Adherent;
use Galette\Entity\FieldsConfig;
use Galette\Repository\Groups;
use Galette\Repository\Members;
use Galette\Filters\MembersList;
/** @ignore */
require_once 'includes/galette.inc.php';
if (!$login->isLogged()) {
    header('location: index.php');
    die;
}
$id_adh = get_numeric_form_value('id_adh', '');
if (!$login->isSuperAdmin()) {
    if (!$login->isAdmin() && !$login->isStaff() && !$login->isGroupManager() || $login->isAdmin() && $id_adh == '' || $login->isStaff() && $id_adh == '' || $login->isGroupManager() && $id_adh == '') {
        $id_adh = $login->id;
    }
}
if ($id_adh == '') {
    header('location: index.php');
    die;
}
if (isset($session['pdf_error']) && $session['pdf_error']) {
    $error_detected[] = $session['pdf_error_msg'];
    unset($session['pdf_error_msg']);
    unset($session['pdf_error']);
}
if (isset($session['lostpasswd_errors'])) {
Example #10
0
use Galette\Repository\Members;
use Galette\Repository\Groups;
require_once 'includes/galette.inc.php';
if (!$login->isLogged()) {
    header('location: index.php');
    die;
}
if (!$login->isAdmin() && !$login->isStaff() && !$login->isGroupManager()) {
    header('location: voir_adherent.php');
    die;
}
$groups = new Groups();
$group = new Group();
$error_detected = array();
$success_detected = array();
$id = get_numeric_form_value(Group::PK, null);
if ($id !== null) {
    if ($login->isGroupManager($id)) {
        $group->load($id);
    } else {
        Analog::log('Trying to display group ' . $id . ' without appropriate permissions', Analog::INFO);
        die;
    }
}
if (isset($_POST['pdf'])) {
    $qstring = 'groups_list.php';
    if (isset($_POST['id_group'])) {
        $qstring .= '?gid=' . $_POST['id_group'];
    }
    header('location: ' . $qstring);
    die;