[opw-web] Add an 'Accepted participants' mode to view participants



commit 338f0455367b4beb292174db7aaec2e1bae4b2e8
Author: Owen W. Taylor <otaylor fishsoup net>
Date:   Mon Apr 21 10:33:28 2014 -0400

    Add an 'Accepted participants' mode to view participants
    
    Add a mode where an admin can see information only about accepted
    participants; link to both modes as admin actions from the menu.

 lang/en-gb.php                                     |    1 +
 modules/mod_view_participants.php                  |   18 ++++++++++++++++--
 skins/easterngreen/html/tpl_header.html            |   12 ++++++++++++
 skins/easterngreen/html/tpl_view_participants.html |    2 +-
 4 files changed, 30 insertions(+), 3 deletions(-)
---
diff --git a/lang/en-gb.php b/lang/en-gb.php
index 3d8a41e..ba8a2c7 100644
--- a/lang/en-gb.php
+++ b/lang/en-gb.php
@@ -307,6 +307,7 @@ $lang_data = array(
 
     /* Module: view_participants */
     'prog_participants'     => 'Program participants',
+    'accepted_participants' => 'Accepted participants',
     'role'                  => 'Role',
     'role_s'                => 'Applicant',
     'role_r'                => 'Resigned applicant',
diff --git a/modules/mod_view_participants.php b/modules/mod_view_participants.php
index 9d0fcae..544f7b3 100644
--- a/modules/mod_view_participants.php
+++ b/modules/mod_view_participants.php
@@ -8,9 +8,17 @@
 if (!defined('IN_PANDORA')) exit;
 
 $program_id = $core->variable('prg', '');
+$accepted = $core->variable('accepted', 0) != 0;
 
 // Get the program's participant list
 
+if ($accepted) {
+    $accepted_clause = "AND pr.id IS NOT NULL " .
+                       "AND pr.is_accepted = 1 ";
+} else {
+    $accepted_clause = '';
+}
+
 $sql = "SELECT r.username, r.role AS role, r.contract_approved, " .
        "pr.id AS project_id, pr.title AS project_title, pr.is_accepted, " .
        "pf.fullname, " .
@@ -24,8 +32,9 @@ $sql = "SELECT r.username, r.role AS role, r.contract_approved, " .
        "ON r.program_id = p.program_id " .
        "AND r.username = p.username " .
        "LEFT JOIN {$db->prefix}projects pr " .
-       "ON p.project_id = pr.id ".
+       "ON p.project_id = pr.id " .
        "WHERE r.program_id = {$program_id} " .
+       $accepted_clause .
        "ORDER BY r.role, r.username";
 $list_data = $db->query($sql);
 
@@ -103,15 +112,20 @@ foreach ($list as $item)
     $participant_list .= $skin->output('tpl_view_participants_item');
 }
 
+if ($accepted)
+    $module_title = $lang->get('accepted_participants');
+else
+    $module_title = $lang->get('prog_participants');
+
 // Assign final skin data
 $skin->assign(array(
+    'title'                 => $module_title,
     'participant_list'      => $participant_list,
     'notice_visibility'     => $skin->visibility(count($list) == 0),
     'list_visibility'       => $skin->visibility(count($list) > 0),
 ));
 
 // Output the module
-$module_title = $lang->get('prog_participants');
 $module_data = $skin->output('tpl_view_participants');
 
 ?>
diff --git a/skins/easterngreen/html/tpl_header.html b/skins/easterngreen/html/tpl_header.html
index b38ddac..78df523 100644
--- a/skins/easterngreen/html/tpl_header.html
+++ b/skins/easterngreen/html/tpl_header.html
@@ -131,6 +131,18 @@ ocalization variable
                                 </li>
 
                                 <li class="[[admin_visibility]]">
+                                    <a href="?q=view_participants&amp;prg=[[program_id]]">
+                                        {{prog_participants}}
+                                    </a>
+                                </li>
+
+                                <li class="[[admin_visibility]]">
+                                    <a href="?q=view_participants&amp;prg=[[program_id]]&amp;accepted=1">
+                                        {{accepted_participants}}
+                                    </a>
+                                </li>
+
+                                <li class="[[admin_visibility]]">
                                     <a href="?q=approve_mentors&amp;prg=[[program_id]]">
                                         {{approve_mentors}}
                                     </a>
diff --git a/skins/easterngreen/html/tpl_view_participants.html 
b/skins/easterngreen/html/tpl_view_participants.html
index dcdd1b9..2e7ad21 100644
--- a/skins/easterngreen/html/tpl_view_participants.html
+++ b/skins/easterngreen/html/tpl_view_participants.html
@@ -1,4 +1,4 @@
-<h1>{{prog_participants}}</h1>
+<h1>[[title]]</h1>
 <hr class="hr-head" />
 
 <div class="alert alert-info [[notice_visibility]]">


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]