Adds notion of donation for payments.
authorStéphane Jacob <sj@m4x.org>
Mon, 16 May 2011 21:49:28 +0000 (23:49 +0200)
committerStéphane Jacob <sj@m4x.org>
Mon, 16 May 2011 21:49:28 +0000 (23:49 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
include/validations/paiements.inc.php
modules/xnetevents.php
templates/xnetevents/edit.tpl
upgrade/1.1.2/02_payments.sql [new file with mode: 0644]

index afbead3..2509806 100644 (file)
@@ -37,6 +37,7 @@ class PayReq extends Validate
     public $asso;
     public $evt;
     public $evt_intitule;
+    public $donation;
 
     public $rules = "Vérifier que les balises &lt;salutation&gt;, &lt;prenom&gt;, &lt;nom&gt;,  &lt;montant&gt; et &lt;comment&gt; n'ont pas été modifiées.
 Vérifier que le demandeur n'a pas laissé les crochets [].
@@ -46,7 +47,7 @@ Si le télépaiement n'est pas lié à un groupe ou supérieur à 51 euros, lais
 
     public function __construct(User $_user, $_intitule, $_site, $_montant, $_msg,
                                 $_montantmin=0, $_montantmax=999, $_asso_id = 0,
-                                $_evt = 0, $_stamp=0)
+                                $_evt = 0, $_donation = false, $_stamp=0)
     {
         parent::__construct($_user, false, 'paiements', $_stamp);
 
@@ -55,6 +56,7 @@ Si le télépaiement n'est pas lié à un groupe ou supérieur à 51 euros, lais
         $this->msg_reponse  = $_msg;
         $this->asso_id      = (string)$_asso_id;
         $this->evt          = (string)$_evt;
+        $this->donation     = $_donation;
         $this->montant      = $_montant;
         $this->montant_min  = $_montantmin;
         $this->montant_max  = $_montantmax;
@@ -167,14 +169,11 @@ Si le télépaiement n'est pas lié à un groupe ou supérieur à 51 euros, lais
     {
         $res = XDB::query("SELECT MAX(id) FROM payments");
         $id = $res->fetchOneCell()+1;
-        $ret = XDB::execute("INSERT INTO payments VALUES
-            ( {?}, {?}, {?}, '',
-            {?}, {?}, {?},
-            {?}, {?}, {?} )
-            ",
-            $id, $this->titre, $this->site,
-            $this->montant, $this->montant_min, $this->montant_max,
-            $this->user->bestEmail(), $this->msg_reponse, $this->asso_id);
+        $flags = ($this->donation ? 'donation' : '');
+        $ret = XDB::execute('INSERT INTO  payments (id, text, url, flags, amount_def, amount_min, amount_max, mail, confirmation, asso_id)
+                                  VALUES  ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
+                            $id, $this->titre, $this->site, $flags, $this->montant, $this->montant_min,
+                            $this->montant_max, $this->user->bestEmail(), $this->msg_reponse, $this->asso_id);
         if ($this->asso_id && $this->evt) {
             XDB::execute("UPDATE  group_events
                              SET  paiement_id = {?}
index bf975e1..45767f5 100644 (file)
@@ -468,7 +468,7 @@ class XnetEventsModule extends PLModule
                                 Post::v('intitule')." - ".$globals->asso('nom'),
                                 Post::v('site'), $money_defaut,
                                 Post::v('confirmation'), 0, 999,
-                                $globals->asso('id'), $eid);
+                                $globals->asso('id'), $eid, Post::b('donation'));
                 if ($p->accept()) {
                     $p->submit();
                 } else {
index 99292bc..09053af 100644 (file)
@@ -201,6 +201,7 @@ Ton inscription à [METS LE NOM DE L'ÉVÉNEMENT ICI] a bien été enregistrée
 {$profile->fullName("promo")}{/if}</textarea><br />
         {assign var='asso_url' value=$globals->baseurl|cat:'/'|cat:$platal->ns}
         Page internet de l'événement&nbsp;: <input size="40" name="site" value="{$paiement_site|default:$asso->site|default:$asso_url}" /><br />
+        <label><input type="checkbox" name="donation" {if t($donation)}check="checked"{/if} />Afficher la liste des payeurs ne s'y opposant pas sur {#globals.core.sitename#}</label><br />
         Le nouveau paiement sera activé automatiquement après validation par le trésorier de Polytechnique.org,
         ce qui sera fait sous peu.
         <script type="text/javascript">//<![CDATA[
diff --git a/upgrade/1.1.2/02_payments.sql b/upgrade/1.1.2/02_payments.sql
new file mode 100644 (file)
index 0000000..2362194
--- /dev/null
@@ -0,0 +1,3 @@
+ALTER TABLE payments MODIFY COLUMN flags SET('unique', 'old', 'donation') NOT NULL DEFAULT '';
+
+-- vim:set syntax=mysql: