From: Florent Bruneau Date: Tue, 26 Oct 2010 13:17:00 +0000 (+0200) Subject: Reminder for merge issues. X-Git-Tag: xorg/1.0.1~2 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=2273a151851633c49ed59918ecebf85db52dd261;p=platal.git Reminder for merge issues. Signed-off-by: Florent Bruneau --- diff --git a/include/reminder/profile_update.inc.php b/include/reminder/profile_update.inc.php index 7dd5f1b..52400e9 100644 --- a/include/reminder/profile_update.inc.php +++ b/include/reminder/profile_update.inc.php @@ -30,7 +30,7 @@ class ReminderProfileUpdate extends Reminder case 'profile': $this->UpdateOnDismiss(); - pl_redirect('profile/edit'); + pl_redirect('profile/edit/' . $this->user->profile()->hrpid); break; case 'photo': @@ -40,7 +40,19 @@ class ReminderProfileUpdate extends Reminder case 'geoloc': $this->UpdateOnDismiss(); - pl_redirect('profile/edit/adresses'); + pl_redirect('profile/edit/' . $this->user->profile()->hrpid . '/adresses'); + break; + + case 'merge': + $this->UpdateOnDismiss(); + $flags = self::ListMergeIssues($this->user->profile()); + if ($flags->hasFlag('job')) { + pl_redirect('profile/edit/' . $this->user->profile()->hrpid . '/emploi'); + } else if ($flags->hasFlag('address')) { + pl_redirect('profile/edit/' . $this->user->profile()->hrpid . '/adresses'); + } else { + pl_redirect('profile/edit/' . $this->user->profile()->hrpid); + } break; } } @@ -50,6 +62,7 @@ class ReminderProfileUpdate extends Reminder parent::Prepare($page); $profile = $this->user->profile(); + $page->assign('profile_merge', self::ListMergeIssues($profile)); $page->assign('profile_incitation', $profile->is_old); $page->assign('profile_last_update', $profile->last_change); $page->assign('photo_incitation', !$profile->has_photo); @@ -69,13 +82,28 @@ class ReminderProfileUpdate extends Reminder return true; } + private static function ListMergeIssues(Profile $profile) + { + if (Platal::globals()->merge->state != 'done') { + return null; + } + $flags = XDB::fetchOneCell('SELECT issues + FROM profile_merge_issues + WHERE pid = {?}', $profile->id()); + if (!$flags) { + return null; + } + return new PlFlagSet($flags); + } + public static function IsCandidate(User &$user, $candidate) { $profile = $user->profile(); if (!$profile) { return false; } - return !$profile->has_photo || $profile->is_old; + return !$profile->has_photo || $profile->is_old + || !is_null(self::ListMergeIssues($profile)); } } diff --git a/templates/reminder/profile_update.tpl b/templates/reminder/profile_update.tpl index c148cd7..55bf9db 100644 --- a/templates/reminder/profile_update.tpl +++ b/templates/reminder/profile_update.tpl @@ -20,7 +20,21 @@ {* *} {**************************************************************************} -{if $profile_incitation} +{if $profile_merge} + La récente fusion des annuaires de l'AX et de Polytechnique.org a mis à jour des incertitudes sur + ton profil. Afin de lever ces incertitudes, peux-tu vérifier et revalider les éléments suivants : + + {foreach from=$profile_merge item=field name=flags} + {if $field eq 'name'}ton nom{* + *}{elseif $field eq 'job'}tes activités professionnelles{* + *}{elseif $field eq 'address'}tes adresses{* + *}{elseif $field eq 'promo'}ta promotion d'étude{* + *}{elseif $field eq 'phone'}tes numéros de téléphone{* + *}{elseif $field eq 'education'}tes formations{* + *}{/if}{if !$smarty.flags.last}, {/if} + {/foreach} + +{elseif $profile_incitation} La dernière mise à jour de ta fiche date du {$profile_last_update|date_format}. Il est possible qu'elle ne soit pas à jour. Si tu souhaites la modifier,