Commit 9cc103d5 authored by mbriand's avatar mbriand
Browse files

Cotisations assidu/amicale

parent f1d66304
......@@ -48,6 +48,7 @@ if ( $_REQUEST["action"] == "pdf" )
"`utilisateurs`.`prenom_utl`, " .
"`utl_etu_utbm`.`surnom_utbm`, " .
"`ae_cotisations`.`date_fin_cotis`, " .
"`ae_cotisations`.`type_cotis`, " .
"`ae_carte`.`id_carte_ae` " .
"FROM `ae_carte` " .
"INNER JOIN `ae_cotisations` ON `ae_cotisations`.`id_cotisation`=`ae_carte`.`id_cotisation` " .
......
......@@ -115,7 +115,7 @@ function add_new_form($id = null)
$frm->add_info(" ");
$sub_frm_cotiz = new form("cotisation",null,null,null,"Cotisation");
$sub_frm_cotiz->add_select_field("cotiz","Cotisation",array( 0=>"1 Semestre, 15 Euros, jusqu'au $date1", 1=>"2 Semestres, 28 Euros, jusqu'au $date2", 2 => "Cursus Tronc Commun, 45 €, jusqu'au $date3", 3 => "Cursus Branche, 45 €, jusqu'au $date4", 4 => "Membre honoraire ou occasionnel, 0 €, jusqu'au $date2"),1);
$sub_frm_cotiz->add_select_field("cotiz","Cotisation",array( 0=>"1 Semestre, 15 Euros, jusqu'au $date1", 1=>"2 Semestres, 28 Euros, jusqu'au $date2", 2 => "Cursus Tronc Commun, 45 €, jusqu'au $date3", 3 => "Cursus Branche, 45 €, jusqu'au $date4", 4 => "Membre honoraire ou occasionnel, 0 €, jusqu'au $date2", 5 => "Cotisation par Assidu, 4€, jusqu'au $date2", 6 => "Cotisation Amicale, 4€, jusqu'au $date2"),1);
$sub_frm_cotiz->add_select_field("paiement","Mode de paiement",array(1 => "Chèque", 3 => "Liquide", 4 => "Administration"));
$sub_frm_cotiz->add_info(" ");
......@@ -217,7 +217,7 @@ elseif ( $_REQUEST["action"] == "savecotiz" )
}
else
{
if ( $user->ae )
if ( $user->ae || $user->assidu || $user->amicale )
{
global $site;
$req = new requete($site->db,
......@@ -256,22 +256,35 @@ elseif ( $_REQUEST["action"] == "savecotiz" )
if ( $_REQUEST["cotiz"] == 0 ) {
$date_fin = strtotime($date1);
$prix_paye = 1500;
$type_cotis = 1;
} elseif ( $_REQUEST["cotiz"] == 1 ) {
$date_fin = strtotime($date2);
$prix_paye = 2800;
$type_cotis = 1;
} elseif ( $_REQUEST["cotiz"] == 2 ) {
$date_fin = strtotime($date3);
$prix_paye = 4500;
$type_cotis = 1;
} elseif ( $_REQUEST["cotiz"] == 3 ) {
$date_fin = strtotime($date4);
$prix_paye = 4500;
} else {
$type_cotis = 1;
} elseif ( $_REQUEST["cotiz"] == 4 ) {
$date_fin = strtotime($date2);
$prix_paye = 0;
$type_cotis = 1;
} elseif ( $_REQUEST["cotiz"] == 5 ) {
$date_fin = strtotime($date2);
$prix_paye = 4;
$type_cotis = 2;
} else {
$date_fin = strtotime($date2);
$prix_paye = 4;
$type_cotis = 3;
}
$cotisation->load_lastest_by_user ( $user->id );
$cotisation->add ( $user->id, $date_fin, $_REQUEST["paiement"], $prix_paye );
$cotisation->add ( $user->id, $date_fin, $_REQUEST["paiement"], $prix_paye, $type_cotis );
$a_pris_cadeau = $_REQUEST["cadeau"] == true;
......
......@@ -58,7 +58,7 @@ if ( $_REQUEST["action"] == "logclient" && count($site->comptoir->operateurs))
}
elseif ( !$client->is_valid() )
$Erreur = "Client inconnu";
elseif ( !$client->ae )
elseif ( ! ($client->ae || $client->assidu || $client -> amicale) )
$Erreur = "Cotisation AE non renouvelée";
elseif ( $client->is_in_group("cpt_bloque") )
$Erreur = "Compte bloqué : prendre contact avec un responsable. Ceci est probablement du à une dette au BDF.";
......@@ -204,7 +204,7 @@ else if ( $_REQUEST["action"] == "recharge" && count($site->comptoir->operateurs
$RechargementErreur = "Etudiant inconnu";
elseif ( !$GLOBALS["svalid_call"] )
$RechargementErreur = "Ignoré";
elseif ( !$client->ae )
elseif ( ! ($client->ae || $client->assidu || $client -> amicale) )
$RechargementErreur = "Cotisation AE non renouvelée";
elseif ( $client->is_in_group("cpt_bloque") )
$RechargementErreur = "Compte bloqué : prendre contact avec un responsable. Ceci est probablement du à une dette au BDF.";
......@@ -258,7 +258,7 @@ else if ( $_REQUEST["page"] == "confirmrech" && count($site->comptoir->operateur
}
elseif ( !$client->is_valid() )
$RechargementErreur = "Etudiant inconnu";
else if ( !$client->ae )
elseif ( ! ($client->ae || $client->assidu || $client -> amicale) )
$RechargementErreur = "Cotisation AE non renouvelée";
else if ( $client->is_in_group("cpt_bloque") )
$RechargementErreur = "Compte bloqué : prendre contact avec un responsable. Ceci est probablement du à une dette au BDF.";
......
......@@ -84,7 +84,7 @@ class cotisationae
function vendu($user,$prix_unit)
{
$cotisation = new cotisation($this->db,$this->dbrw);
$cotisation->add ( $user->id, $this->enddate, 5, $prix_unit );
$cotisation->add ( $user->id, $this->enddate, 5, $prix_unit, 1 );
}
function get_info()
......
......@@ -450,7 +450,7 @@ class comptoir extends stdentity
if ( !$client->is_valid() )
return false;
if ( !$client->ae )
if ( ! ($client->ae || $client->assidu || $client -> amicale) )
return false;
if ( $client->is_in_group("cpt_bloque") )
......@@ -642,7 +642,7 @@ class comptoir extends stdentity
$association)
{
if ( !$client->ae )
if ( ! ($client->ae || $client->assidu || $client -> amicale) )
return false;
if ( $client->is_in_group("cpt_bloque") )
......
......@@ -15,6 +15,11 @@ require_once("carteae.inc.php");
- 4 : administration
- 5 : eboutic */
/** Type de cotisation :
- 1 : normale
- 2 : assidu
- 3 : amicale */
class cotisation extends stdentity
{
var $id_utilisateur;
......@@ -76,16 +81,17 @@ class cotisation extends stdentity
}
function add ( $id_utilisateur, $date_fin, $mode_paiement, $prix_paye )
function add ( $id_utilisateur, $date_fin, $mode_paiement, $prix_paye, $type_cotis )
{
$this->id_utilisateur = $id_utilisateur;
$this->date_cotis = time();
$this->date_fin_cotis = $date_fin;
$this->a_pris_cadeau = false;
$this->a_pris_cadeau = ($type_cotis != 1);
$this->a_pris_carte = false;
$this->mode_paiement_cotis = $mode_paiement;
$this->prix_paye_cotis = $prix_paye;
$this->type_cotis = $type_cotis;
$sql = new insert ($this->dbrw,
"ae_cotisations",
......@@ -96,7 +102,8 @@ class cotisation extends stdentity
"a_pris_cadeau" => $this->a_pris_cadeau,
"a_pris_carte" => $this->a_pris_carte,
"mode_paiement_cotis" => $this->mode_paiement_cotis,
"prix_paye_cotis" => $this->prix_paye_cotis
"prix_paye_cotis" => $this->prix_paye_cotis,
"type_cotis" => $this->type_cotis,
)
);
......@@ -116,7 +123,9 @@ class cotisation extends stdentity
else
$carte->add($this->id,$this->date_fin_cotis);
$req = new update($this->dbrw,"utilisateurs",array("ae_utl"=>true),array("id_utilisateur"=>$this->id_utilisateur));
$types = array(1 => "ae_utl", 2 => "assidu_utl", 3 => "amicale_utl");
$req = new update($this->dbrw,"utilisateurs",array($types[$type_cotisation]=>true),array("id_utilisateur"=>$this->id_utilisateur));
return true;
}
......
......@@ -186,6 +186,8 @@ class group extends stdentity
$values[10007] = "etudiants-tous";
$values[10008] = "utilisateurs-valides";
$values[10009] = "responsables-clubs";
$values[10010] = "assidu-membres";
$values[10011] = "amicale-membres";
$req = new requete($this->db,
"SELECT `id_asso`, `nom_unix_asso` " .
......
......@@ -70,6 +70,8 @@ class utilisateur extends stdentity
var $etudiant;
var $ancien_etudiant;
var $ae;
var $assidu;
var $amicale;
var $modere;
var $droit_image;
......@@ -385,6 +387,8 @@ class utilisateur extends stdentity
$this->etudiant = $row['etudiant_utl'];
$this->ancien_etudiant = $row['ancien_etudiant_utl'];
$this->ae = $row['ae_utl'];
$this->assidu = $row['assidu_utl'];
$this->amicale = $row['amicale_utl'];
$this->modere = $row['modere_utl'];
$this->droit_image = $row['droit_image_utl'];
$this->id_licence_default_sas = $row['id_licence_default_sas'];
......@@ -617,6 +621,14 @@ class utilisateur extends stdentity
if ( $this->modere )
$this->groupes[10008] = "utilisateurs-valides";
// 10009 : voir plus bas
if ( $this->amicale )
$this->groupes[10010] = "assidu-membres";
if ( $this->assidu )
$this->groupes[10011] = "amicale-membres";
$req = new requete($this->db,
"SELECT `asso`.`id_asso`, ".
"`asso`.`nom_unix_asso`, ".
......@@ -1135,6 +1147,8 @@ class utilisateur extends stdentity
$this->droit_image = $droit_image;
$this->ae = false;
$this->assidu = false;
$this->amicale = false;
$this->utbm = $_utbm;
$this->etudiant = $_etudiant;
$this->ancien_etudiant = false;
......@@ -1159,6 +1173,8 @@ class utilisateur extends stdentity
"droit_image_utl" => $this->droit_image,
"ancien_etudiant_utl"=> false,
"ae_utl"=>false,
"assidu_utl"=>false,
"amicale_utl"=>false,
"modere_utl"=> $this->modere,
"montant_compte"=> 0,
"publique_utl"=> $this->publique,
......@@ -1336,6 +1352,8 @@ class utilisateur extends stdentity
"droit_image_utl" => $this->droit_image,
"ancien_etudiant_utl"=> false,
"ae_utl"=>false,
"assidu_utl"=>false,
"amicale_utl"=>false,
"modere_utl"=> $this->modere,
"montant_compte"=> 0,
"publique_utl"=> $this->publique,
......@@ -2300,6 +2318,8 @@ L'équipe info AE";
"utilisateurs.tovalid_utl"=>"noop",
"utilisateurs.pass_utl"=>"noop",
"utilisateurs.ae_utl"=>"or",
"utilisateurs.assidu_utl"=>"or",
"utilisateurs.amicale_utl"=>"or",
"utl_etu_utbm.email_utbm"=>"validutbm");
// Fusion par fusion
......
......@@ -51,8 +51,12 @@ class pdfcarteae extends FPDF
$this->npp = 10; // Nombre par page
$this->npl=2; // Nombre par ligne
$this->img_front = $topdir."images/carteae/front-A2009.png";
$this->img_back = $topdir."images/carteae/back-A2009.png";
$this->img_front[1] = $topdir."images/carteae/ae-front-A2009.png";
$this->img_back[1] = $topdir."images/carteae/ae-back-A2009.png";
$this->img_front[2] = $topdir."images/carteae/assidu-front-A2009.png";
$this->img_back[2] = $topdir."images/carteae/assidu-back-A2009.png";
$this->img_front[3] = $topdir."images/carteae/amicale-front-A2009.png";
$this->img_back[3] = $topdir."images/carteae/amicale-back-A2009.png";
/* ATTENTION
* - l'égalité suivante doit être respectée :
......@@ -86,7 +90,7 @@ class pdfcarteae extends FPDF
{
global $topdir;
$this->Image($this->img_front,$x,$y,$this->width,$this->height);
$this->Image($this->img_front[$infos[type_cotis]],$x,$y,$this->width,$this->height);
$src = "../var/img/matmatronch/".$infos['id'].".identity.jpg";
......@@ -107,7 +111,7 @@ class pdfcarteae extends FPDF
function render_back ( $x, $y, $infos )
{
$this->Image($this->img_back,$x,$y,$this->width,$this->height);
$this->Image($this->img_back[$infos[type_cotis]],$x,$y,$this->width,$this->height);
$cbar = new PDF_C128AObject($this->pos['cbar']['w'], $this->pos['cbar']['h'],
BCS_ALIGN_CENTER | BCS_DRAW_TEXT,
......
......@@ -38,20 +38,57 @@ $req = new requete($site->dbrw,"UPDATE `ae_carte` SET `etat_vie_carte_ae`='".CET
$cts->add_paragraph($req->lines." cartes ont expirées");
$req = new requete($site->dbrw,"UPDATE `utilisateurs` SET `ae_utl`='1' " .
"WHERE `ae_utl`='0' AND EXISTS(SELECT * FROM `ae_cotisations` " .
"WHERE `ae_cotisations`.`id_utilisateur`=`utilisateurs`.`id_utilisateur` " .
"AND type_cotis = '1'" .
"AND `date_fin_cotis` > NOW())");
$cts->add_paragraph($req->lines." utilisateurs de plus sont désormais cotisants AE");
$req = new requete($site->dbrw,"UPDATE `utilisateurs` SET `assidu_utl`='1' " .
"WHERE `assidu_utl`='0' AND EXISTS(SELECT * FROM `ae_cotisations` " .
"WHERE `ae_cotisations`.`id_utilisateur`=`utilisateurs`.`id_utilisateur` " .
"AND type_cotis = '2'" .
"AND `date_fin_cotis` > NOW())");
$cts->add_paragraph($req->lines." utilisateurs de plus sont désormais cotisants");
$cts->add_paragraph($req->lines." utilisateurs de plus sont désormais cotisants Assidu");
$req = new requete($site->dbrw,"UPDATE `utilisateurs` SET `amicale_utl`='1' " .
"WHERE `amicale_utl`='0' AND EXISTS(SELECT * FROM `ae_cotisations` " .
"WHERE `ae_cotisations`.`id_utilisateur`=`utilisateurs`.`id_utilisateur` " .
"AND type_cotis = '3'" .
"AND `date_fin_cotis` > NOW())");
$cts->add_paragraph($req->lines." utilisateurs de plus sont désormais cotisants Amicale");
$req = new requete($site->dbrw,"UPDATE `utilisateurs` SET `ae_utl`='0' " .
"WHERE `ae_utl`='1' AND NOT EXISTS(SELECT * FROM `ae_cotisations` " .
"WHERE `ae_cotisations`.`id_utilisateur`=`utilisateurs`.`id_utilisateur` " .
"AND type_cotis = '1'" .
"AND `date_fin_cotis` > NOW())");
$cts->add_paragraph($req->lines." utilisateurs ne sont plus cotisants AE");
$req = new requete($site->dbrw,"UPDATE `utilisateurs` SET `assidu_utl`='0' " .
"WHERE `assidu_utl`='1' AND NOT EXISTS(SELECT * FROM `ae_cotisations` " .
"WHERE `ae_cotisations`.`id_utilisateur`=`utilisateurs`.`id_utilisateur` " .
"AND type_cotis = '2'" .
"AND `date_fin_cotis` > NOW())");
$cts->add_paragraph($req->lines." utilisateurs ne sont plus cotisants");
$req = new requete($site->dbrw,"UPDATE `utilisateurs` SET `amicale_utl`='0' " .
"WHERE `amicale_utl`='1' AND NOT EXISTS(SELECT * FROM `ae_cotisations` " .
"WHERE `ae_cotisations`.`id_utilisateur`=`utilisateurs`.`id_utilisateur` " .
"AND type_cotis = '3'" .
"AND `date_fin_cotis` > NOW())");
$cts->add_paragraph($req->lines." utilisateurs ne sont plus cotisants");
$site->add_contents($cts);
$site->end_page();
......
......@@ -172,7 +172,7 @@ if(isset($_POST['action'])
$date_fin = strtotime($date);
$prix_paye = 2800;
$cotisation->load_lastest_by_user ( $user->id );
$cotisation->add( $user->id, $date_fin, 4, $prix_paye );
$cotisation->add( $user->id, $date_fin, 4, $prix_paye, 1 );
$m++;
}
......@@ -191,7 +191,7 @@ if(isset($_POST['action'])
$date_fin = strtotime($date);
$prix_paye = 2800;
$cotisation->load_lastest_by_user ( $user->id );
$cotisation->add( $user->id, $date_fin, 4, $prix_paye );
$cotisation->add( $user->id, $date_fin, 4, $prix_paye, 1 );
$m++;
}
}
......@@ -202,7 +202,7 @@ if(isset($_POST['action'])
$date_fin = strtotime($date);
$prix_paye = 2800;
$cotisation->load_lastest_by_user ( $user->id );
$cotisation->add( $user->id, $date_fin, 4, $prix_paye );
$cotisation->add( $user->id, $date_fin, 4, $prix_paye, 1 );
$m++;
}
}
......
......@@ -1090,6 +1090,8 @@ elseif ( ($_REQUEST["view"]=="groups") &&
$frm = new form("setattributes","user.php?view=groups&id_utilisateur=".$user->id,false,"POST","Attribus");
$frm->add_hidden("action","setattributes");
$frm->add_checkbox("ae","ae",$user->ae,true);
$frm->add_checkbox("assidu","assidu",$user->assidu,true);
$frm->add_checkbox("amicale","amicale",$user->amicale,true);
$frm->add_checkbox("utbm","utbm",$user->utbm, !$user->email_utbm);
$frm->add_checkbox("etudiant","etudiant",$user->etudiant);
$frm->add_checkbox("ancien_etudiant","ancien_etudiant",$user->ancien_etudiant);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment