Enables creation of public payments.
authorStéphane Jacob <sj@m4x.org>
Mon, 19 Sep 2011 21:43:18 +0000 (23:43 +0200)
committerStéphane Jacob <sj@m4x.org>
Mon, 19 Sep 2011 21:57:39 +0000 (23:57 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
include/validations/paiements.inc.php
modules/xnetevents.php
templates/include/form.valid.edit-paiements.tpl
templates/include/form.valid.paiements.tpl
templates/xnetevents/edit.tpl

index 448167e..2ec3a98 100644 (file)
@@ -37,6 +37,7 @@ class PayReq extends Validate
     public $asso;
     public $evt;
     public $evt_intitule;
+    public $public;
 
     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, $_public = false, $_stamp = 0)
     {
         parent::__construct($_user, false, 'paiements', $_stamp);
 
@@ -58,6 +59,7 @@ Si le télépaiement n'est pas lié à un groupe ou supérieur à 51 euros, lais
         $this->montant      = $_montant;
         $this->montant_min  = $_montantmin;
         $this->montant_max  = $_montantmax;
+        $this->public       = $_public;
 
         if ($_asso_id) {
             $res = XDB::query("SELECT nom FROM groups WHERE id = {?}", $_asso_id);
@@ -137,6 +139,7 @@ Si le télépaiement n'est pas lié à un groupe ou supérieur à 51 euros, lais
         $this->montant_min = Env::i('pay_montant_min');
         $this->montant_max = Env::i('pay_montant_max');
         $this->msg_reponse = Env::v('pay_msg_reponse');
+        $this->public      = (Env::v('pay_public') == 'yes');
         return true;
     }
 
@@ -167,10 +170,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 (id, text, url, amount_def, amount_min, amount_max, mail, confirmation, asso_id)
-                                  VALUES  ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
+        $ret = XDB::execute('INSERT INTO  payments (id, text, url, amount_def, amount_min, amount_max, mail, confirmation, asso_id, flags)
+                                  VALUES  ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
                             $id, $this->titre, $this->site, $this->montant, $this->montant_min,
-                            $this->montant_max, $this->user->bestEmail(), $this->msg_reponse, $this->asso_id);
+                            $this->montant_max, $this->user->bestEmail(), $this->msg_reponse, $this->asso_id,
+                            ($this->public ? 'public' : ''));
         if ($this->asso_id && $this->evt) {
             XDB::execute("UPDATE  group_events
                              SET  paiement_id = {?}
index 480ced4..60a8460 100644 (file)
@@ -463,7 +463,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::v('payment_public') == 'yes');
                 if ($p->accept()) {
                     $p->submit();
                 } else {
index 4d91d37..bd9da07 100644 (file)
 <strong>Montant&nbsp;:</strong> <input type="text" name="pay_montant" size="5" value="{$valid->montant}" />
 (min <input type="text" name="pay_montant_min" size="5" value="{$valid->montant_min}" />
 &nbsp;->&nbsp; max <input type="text" name="pay_montant_max" size="5" value="{$valid->montant_max}" />)
+<br />
+<strong>Public&nbsp;:</strong>
+<label><input type="radio" name="pay_public" value="no" {if !t($valid->public)}checked="checked"{/if} />Non</label>
+&nbsp;-&nbsp;
+<label>Oui<input type="radio" name="pay_public" value="yes" {if t($valid->public)}checked="checked"{/if} /></label><br />
 
 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
index 58f5663..50080d3 100644 (file)
@@ -59,4 +59,9 @@
 </tr>
 {/if}
 {/if}
+<tr class="pair">
+  <td class="titre">Public&nbsp;:</td>
+  <td>{if $valid->public}Oui{else}Non{/if}</td>
+</tr>
+
 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
index 99292bc..654aef5 100644 (file)
@@ -201,6 +201,11 @@ 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 />
+        Rendre public le télépaiement&nbsp;:
+        <label><input type="radio" name="payment_public" value="no" {if !t($payment_public)}checked="checked"{/if} />Non</label>
+        &nbsp;-&nbsp;
+        <label>Oui<input type="radio" name="payment_public" value="yes" {if t($payment_public)}checked="checked"{/if} /></label><br />
+        Attention&nbsp;: cela aura pour effet de rendre accessible ce télépaiement à tout le monde, même aux personnes non connectées.<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[