Allows edition of empty reference birthdates (Closes #1532).
authorStéphane Jacob <sj@m4x.org>
Fri, 26 Aug 2011 08:21:01 +0000 (10:21 +0200)
committerStéphane Jacob <sj@m4x.org>
Fri, 26 Aug 2011 08:21:01 +0000 (10:21 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
ChangeLog
modules/profile/general.inc.php
templates/profile/general.tpl

index 4236ace..17d402a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,9 @@ Bug/Wish:
         - #1517: Fixes bestalias update when two local_part are identical  -JAC
         - #1533: Fixes bestalias after updating melix alias                -JAC
 
+    * Profile:
+        - #1532: Allows edition of empty reference birthdates              -JAC
+
 From 1.1.2 branch:
 
     * Newsletter:
index 12731d2..b235080 100644 (file)
@@ -571,6 +571,7 @@ class ProfilePageGeneral extends ProfilePage
         if (!S::user()->isMe($this->owner)) {
             $this->settings['deathdate'] = new ProfileSettingDate(true);
             $this->settings['birthdate'] = new ProfileSettingDate(true);
+            $this->settings['birthdate_ref'] = new ProfileSettingDate(true);
         } else {
             $this->settings['yourself'] = null;
             $this->settings['birthdate'] = new ProfileSettingDate();
@@ -592,7 +593,7 @@ class ProfilePageGeneral extends ProfilePage
         $res = XDB::query("SELECT  p.nationality1, p.nationality2, p.nationality3, IF(p.birthdate = 0, '', p.birthdate) AS birthdate,
                                    p.email_directory as email_directory, pd.promo AS promo_display,
                                    p.freetext, p.freetext_pub, p.ax_id AS matricule_ax, pd.yourself,
-                                   p.deathdate
+                                   p.deathdate, IF(p.birthdate_ref = 0, '', p.birthdate_ref) AS birthdate_ref
                              FROM  profiles              AS p
                        INNER JOIN  profile_display       AS pd ON (pd.pid = p.pid)
                             WHERE  p.pid = {?}", $this->pid());
@@ -697,6 +698,12 @@ class ProfilePageGeneral extends ProfilePage
                 }
             }
         }
+        if ($this->orig['birthdate_ref'] == 0 && !S::user()->isMe($this->owner) && $this->changed['birthdate_ref']) {
+            XDB::execute('UPDATE  profiles
+                             SET  birthdate_ref = {?}
+                           WHERE  pid = {?}',
+                         ProfileSettingDate::toSQLDate($this->values['birthdate_ref']), $this->pid());
+        }
         if (!S::user()->isMe($this->owner) && $this->changed['deathdate']) {
             XDB::execute('UPDATE  profiles
                              SET  deathdate = {?}, deathdate_rec = NOW()
index f0ddda7..edcc321 100644 (file)
     </td>
     <td><input type="text" {if $errors.deathdate}class="error"{/if} name="deathdate" value="{$deathdate}" /></td>
   </tr>
+  <tr>
+    <td>
+      <span class="titre">Date de naissance de référence</span>
+    </td>
+    <td>
+    {if $birthdate_ref eq 0}
+      <input type="text" {if $errors.birthdate_ref}class="error"{/if} name="birthdate_ref" value="{$birthdate_ref}" />
+    {else}
+      {$birthdate_ref}
+    {/if}
+    </td>
+  </tr>
   {/if}
   <tr>
     <td>