Only keep pertinent links and data on the main page.
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Fri, 17 Sep 2010 11:59:34 +0000 (13:59 +0200)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Fri, 17 Sep 2010 11:59:34 +0000 (13:59 +0200)
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
modules/events.php
templates/skin/common.menu.tpl

index b8d1a60..9a4d95e 100644 (file)
@@ -104,22 +104,30 @@ class EventsModule extends PLModule
     {
         $page->changeTpl('events/index.tpl');
         $page->addJsLink('ajax.js');
-        $page->assign('tips', $this->get_tips());
 
-        // Adds a reminder onebox to the page.
         $user = S::user();
-        require_once 'reminder.inc.php';
-        if (($reminder = Reminder::GetCandidateReminder($user))) {
-            $reminder->Prepare($page);
-        }
 
-        // Wishes "Happy birthday" when required
-        $profile = $user->profile();
-        if (!is_null($profile)) {
-            if ($profile->next_birthday == date('Y-m-d')) {
-                $birthyear = (int)date('Y', strtotime($profile->birthdate));
-                $curyear   = (int)date('Y');
-                $page->assign('birthday', $curyear - $birthyear);
+        /** XXX: Tips and reminder only for user with 'email' permission.
+         * We can do better in the future by storing the required permission(s)
+         * with teh tip/reminder.
+         */
+        if ($user->checkPerms(User::PERM_MAIL)) {
+            $page->assign('tips', $this->get_tips());
+
+            // Adds a reminder onebox to the page.
+            require_once 'reminder.inc.php';
+            if (($reminder = Reminder::GetCandidateReminder($user))) {
+                $reminder->Prepare($page);
+            }
+
+            // Wishes "Happy birthday" when required
+            $profile = $user->profile();
+            if (!is_null($profile)) {
+                if ($profile->next_birthday == date('Y-m-d')) {
+                    $birthyear = (int)date('Y', strtotime($profile->birthdate));
+                    $curyear   = (int)date('Y');
+                    $page->assign('birthday', $curyear - $birthyear);
+                }
             }
         }
 
index 9b61516..5bb7c46 100644 (file)
 {/if}
 
 <div class="menu_title">Personnaliser</div>
+{if $smarty.session.user->checkPerms('mail')}
 <div class="menu_item"><a href="emails">Mes emails</a></div>
+{/if}
+{if $smarty.session.user->hasProfile()}
 <div class="menu_item"><a href="profile/edit">Mon profil</a></div>
+{/if}
+{if $smarty.session.user->checkPerms('directory_private')}
 <div class="menu_item"><a href="carnet/contacts">Mes contacts</a></div>
 <div class="menu_item"><a href="carnet">Mon carnet</a></div>
+{/if}
 <div class="menu_item"><a href="password">Mon mot de passe</a></div>
 <div class="menu_item"><a href="prefs">Mes préférences</a></div>
 
 <div class="menu_title">Services</div>
+{if $smarty.session.user->checkPerms('mail')}
 <div class="menu_item"><a href="emails/send">Envoyer un email</a></div>
+{/if}
+{if $smarty.session.user->checkPerms('forums')}
 <div class="menu_item"><a href="banana/">Forums &amp; PA</a></div>
+{/if}
 {if $smarty.session.user->googleapps}
 <div class="menu_item"><a href="http://gmail.polytechnique.org/">Emails Google Apps</a></div>
 {/if}
+{if $smarty.session.user->checkPerms('lists')}
 <div class="menu_item"><a href="lists">Listes de diffusion</a></div>
+{/if}
+{if $smarty.session.user->checkPerms('payment')}
 <div class="menu_item"><a href="payment">Télépaiements</a></div>
+{/if}
 <div class="menu_item"><a href="emails/antispam/submit">Soumettre un spam</a></div>
 <div class="menu_item"><a href="emails/broken">Patte cassée</a></div>
 
 <div class="menu_title">Communauté X</div>
 <div class="menu_item"><a href="search">Annuaire</a></div>
+{if $smarty.session.user->checkPerms('directory_private')}
 <div class="menu_item"><a href="jobs">Emploi &amp; Carrières</a></div>
+{/if}
+{if $smarty.session.user->checkPerms('groups')}
 <div class="menu_item"><a href="groupes-x">Mes groupes X</a></div>
+{/if}
 <div class="menu_item"><a href="survey">Sondages</a></div>
 
 <div class="menu_title">Informations</div>