Index: WAeUP_SRP/trunk/skins/waeup_aaue/mail2admin.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_aaue/mail2admin.py	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_aaue/mail2admin.py	(revision 3763)
@@ -0,0 +1,44 @@
+## Script (Python) "mail2admin"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=fullname=None,regno=None,email=None,probtype=None,descr=None,commt=None
+##title=
+##
+# $Id: mail2admin.py 2334 2007-10-09 15:01:36Z henrik $
+
+mhost = context.MailHost
+prop = context.portal_properties
+
+d = {}
+d['fullname'] = fullname
+d['email'] = email
+d['email_from'] = prop.email_from_address
+d['regno'] = regno
+d['probtype'] = probtype
+d['descr'] = descr
+
+message = """
+From: %(fullname)s <%(email)s>
+To: %(email_from)s
+Cc: %(email)s
+Bcc: waeup@saoas.org
+Reply-To: %(email)s
+Subject: Uniben Contact
+
+Fullname: %(fullname)s
+Member ID: %(regno)s
+Problem Type: %(probtype)s
+Description: %(descr)s
+"""
+
+mhost.send(message % d)
+
+REQUEST = context.REQUEST
+RESPONSE = REQUEST.RESPONSE
+
+redirect_url = REQUEST.HTTP_REFERER
+redirect_url = '%s/?%s' % (redirect_url,'portal_status_message=Your message has been sent!')
+RESPONSE.redirect(redirect_url)
Index: WAeUP_SRP/trunk/skins/waeup_aaue/mail2student.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_aaue/mail2student.py	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_aaue/mail2student.py	(revision 3763)
@@ -0,0 +1,45 @@
+## Script (Python) "mail2student"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=co_name=None,co_email=None,student_email=None,probtype=None,commt=None, action=None
+##title=
+##
+# $Id: mail2admin.py 869 2006-11-15 13:46:49Z henrik $
+
+from urllib import urlencode
+
+mhost = context.MailHost
+prop = context.portal_properties
+REQUEST = context.REQUEST
+
+d = {}
+#d['co_name'] = co_name
+#d['co_email'] = co_email
+d['co_name'] = 'CRPU Uniben'
+d['co_email'] = prop.email_from_address
+d['student_email'] = student_email
+d['probtype'] = probtype
+d['commt'] = commt
+
+message = """
+From: %(co_name)s <%(co_email)s>
+To: %(student_email)s
+Cc: %(co_email)s
+Reply-To: %(co_email)s
+Subject: %(probtype)s
+%(commt)s
+"""
+
+mhost.send(message % d)
+
+args = {}
+psm = "Your message has been sent!"
+args['portal_status_message'] = psm
+if action:
+    url = context.absolute_url() + '/' + action + '?' + urlencode(args)
+else:
+    url = context.absolute_url() +'?' + urlencode(args)
+return REQUEST.RESPONSE.redirect(url)
Index: WAeUP_SRP/trunk/skins/waeup_aaue/main_template.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_aaue/main_template.pt	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_aaue/main_template.pt	(revision 3763)
@@ -0,0 +1,216 @@
+<metal:block define-macro="master"
+  tal:define="showthirdcol showthirdcol|python:1;
+  emptybody emptybody|request/emptybody|nothing;
+  mtool here/portal_membership;
+  
+  utool nocall:here/portal_url;
+  atool here/portal_actions;
+  ttool here/portal_trees;
+  wtool here/portal_workflow;
+  ptool here/portal_cpsportlets;
+  context_url python:here.getContextUrl(utool=utool);
+  here_url here/absolute_url;
+  base_url here/getBaseUrl;
+  static_dir here/portal_properties/static_dir;
+  static_base_url string:${here/getBaseUrl}${static_dir};
+  member mtool/getAuthenticatedMember;
+  isAnon mtool/isAnonymousUser;
+  isHomeless python:isAnon or member.getProperty('homeless', 0);
+  isHomeless python:(isHomeless == '0' and [0] or [isHomeless])[0];
+  actions python:atool.listFilteredActionsFor(here);
+  wf_state python:wtool.getInfoFor(here,'review_state','');
+  uname python: isAnon and 'Guest' or member.getUserName();
+  checkPerm nocall: mtool/checkPermission;
+  cpsmcat nocall:here/translation_service;
+  locale here/translation_service/getSelectedLanguage;
+  in_ws here/isInWorkspace;
+  waeup_skin here/get_waeup_skin;
+  student_theme python:test(waeup_skin == 'WAeUP_Student',1,0);
+  navigation_slot python:test(student_theme,'student_navigation_slot','navigation_slot');
+  object_tabs python:test(student_theme,'student_object_slot','staff_object_slot');
+  
+  ">
+  <metal:block define-slot="doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+  </metal:block>
+  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
+        lang="en">
+    <head>
+      <metal:block use-macro="here/header_lib_header/macros/header|here/header_lib/macros/header">
+        <metal:block fill-slot="base">
+          <metal:block define-slot="base">
+            <base href=""
+                  tal:attributes="href string:${here_url}/" />
+          </metal:block>
+        </metal:block>
+        <metal:block fill-slot="head_slot">
+          <metal:block define-slot="head_slot" />
+        </metal:block>
+        <metal:block fill-slot="style_slot">
+          <link rel="stylesheet" type="text/css" media="all"
+                tal:attributes="href string:${static_base_url}common.css" />
+          <link rel="stylesheet" type="text/css" media="all"
+                tal:attributes="href string:${static_base_url}${waeup_skin}/render.css" />
+          <metal:block define-slot="style_slot" />
+        </metal:block>
+        <metal:block fill-slot="javascript_head_slot">
+          <metal:block define-slot="javascript_head_slot" />
+        </metal:block>
+      </metal:block>
+      <link rel="icon"
+            href="ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+      <link rel="shortcut icon"
+            href="icons/ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+    </head>
+    <body tal:condition="emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      <metal:block define-slot="body" />
+      <metal:block define-slot="main" />
+    </body>
+    
+    <body tal:condition="not:emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      
+     
+      <table summary="Logo Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="shapeNoBorder colorTransparent" cellpadding="0" 
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;"></td>
+            <td style="text-align: left; padding-top: 0.5em;">
+            <img tal:attributes="src string:${static_base_url}logo.png"  alt="Logo"
+                       />
+            </td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table summary="Navigation Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="shapeNoBorder colorTransparent" cellpadding="0"
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;" valign="top"></td>
+            <td style="" valign="top">
+              <div id="navigation_slot" 
+                       style="padding: 0em 0em 1px; text-align: right;"
+                       class="fontColornavigation fontShapenavigation portalTabTabStyle cpsskinsHBox body">
+                 <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot=navigation_slot)"
+                  tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet)" />
+              </div>
+            </td>
+            <td style="width: 20px;" valign="top"></td>
+          </tr>
+        </tbody>
+      </table>
+      
+      
+      <table summary="Main Table Block 1"
+           style="margin-left: auto; margin-right: auto; width: 100%;"
+           cellpadding="0" cellspacing="0">
+      <tbody>
+        <tr>
+          <td style="width: 20px;" valign="top"></td>
+          <td style="width: 170px;text-align: center;"
+              valign="top">
+            <div id="portal_session" style="padding: 0.4em 0.4em 0.4em 0.3em;"
+                 class="colorBarAreaColor fontColordefaultnovisitedlinks fontShapeaverage shapeAreaShape9">
+                    <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='portal_session')"
+                               tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+            </div>
+          </td>
+          <td style="text-align: left; padding: 0.2em 0.2em 0em;" class="colorBarColor" valign="top">
+            <metal:block define-slot="action_slot" />
+            <div id="object_tabs" class="fontColornavigation fontShapeaverage cpsskinsHBox body"
+                 tal:define="portlets python:ptool.getPortlets(context=context, slot=object_tabs)">
+                <tal:block repeat="portlet portlets"
+                           tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet)" />
+            </div>
+          </td>
+          <td tal:condition="not:student_theme"
+              class="colorBarColor" valign="top" style="text-align: right;padding: 0.2em 0.2em 0em; width: 280px;">
+            <div id="status_slot" class="fontColordefaultfontcolors fontShapeaverage cpsskinsHBox body"
+                 tal:define="portlets python:ptool.getPortlets(context=context, slot='status_slot')">
+                <tal:block repeat="portlet portlets"
+                           tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+            </div>
+          </td>
+          <td style="width: 20px;"
+              valign="top"></td>
+        </tr>
+      </tbody>
+    </table>
+  
+  
+  
+    <table summary="Main Table Block 2"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="" cellpadding="0" cellspacing="0">
+      <tbody>
+        <tr>
+          <td style="width: 20px;" valign="top"></td>
+          <td style="width: 170px;text-align: left;"
+              class="colorBarColor fontColornavigation fontShapeaverage boxShapenavbox cpsskinsBox" valign="top">
+            <div id="staff_actions_slot" class="body" style="padding: 1.5em 0.5em 1.5em 0.5em;">
+              <tal:block tal:condition="not:student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='staff_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              <tal:block tal:condition="not:student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='global_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              <tal:block tal:condition="student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='student_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+
+              <span tal:condition="student_theme">
+              <div style="padding: 0em;">
+                <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='student_workflow')"
+                             tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              </div>
+              </span>
+              
+              <div style="padding-top: 10px;">
+              <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='student_notice_slot')"
+                             tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              </div>  
+
+
+            </div>
+          </td>
+          <td style="" class="shapeAreaShape5 colorBarAreaColor" valign="top">
+            <div style="padding: 0.5em; text-align: left;" class="fontColordefaultfontcolors fontShapeaverage">
+              <metal:block use-macro="here/generic_lib_portal_message/macros/portal_message" />
+              <metal:block define-slot="header" />
+              <metal:block define-slot="main" />
+              <metal:block define-slot="sub" />
+            </div>
+          </td>
+          <td style="width: 20px;" valign="top"></td>
+        </tr>
+      </tbody>
+    </table>
+    
+    
+    <table summary="Copyright Info Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;" valign="top"></td>
+            <td style="padding: 0.2em; text-align: right;" valign="top">
+              <div class="fontColordefaultfontcolors fontShapeaverage">
+              Copyright WAeUP Group 2006-2008</div>
+            </td>
+            <td style="width: 20px;" valign="top"></td>
+          </tr>
+        </tbody>
+    </table>
+    </body>
+  </html>
+</metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_aaue/search_students_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_aaue/search_students_form.pt	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_aaue/search_students_form.pt	(revision 3763)
@@ -0,0 +1,132 @@
+<metal:body use-macro="here/main_template/macros/master">
+  <metal:main fill-slot="main"
+              tal:define="rendered options/rendered;
+              portal_status_message options/psm;
+              students options/students;
+              info options/info|nothing;
+              is_so context/isSectionOfficer;
+              allowed options/allowed|nothing;"
+              >
+    <span tal:condition="not: allowed">
+      <span tal:content="here/illegal_view" />
+    </span>
+    <span tal:condition="allowed" tal:omit-tag="">
+      <strong>
+        <nobr><a href="statistics_new_view">New Student Statistics</a>
+        &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+        <nobr><a href="statistics_ret_view">Returning Student Statistics</a>
+        &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+        <nobr><a href="statistics_simple_view">Basic Student Statistics</a>
+        &nbsp;&nbsp;&nbsp;&nbsp;</nobr>      
+        <span tal:condition="is_so">
+          <nobr><a href="apply_admission_manage">Application Process</a>
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>      
+          <nobr><a href="view_logs">View Log Files</a>
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+          <nobr><a href="add_student">Add Student Record</a>        
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+          <nobr><a href="deactivate_students">Deactivate Student Record(s)</a></nobr>
+        </span>
+      </strong>
+      <h3> Search Student Section</h3><br />
+      You are logged in as member <span tal:replace="info/member|nothing" /> 
+      <span tal:condition="info/faculties|nothing" tal:omit-tag="">
+        who is ClearanceOfficer for Faculty 
+        <span tal:repeat="faculty info/faculties" tal:content="faculty" />
+      </span>
+      <span tal:condition="info/departments|nothing" tal:omit-tag="">
+        and <span tal:repeat="department info/departments|nothing" tal:content="department"/></span>.
+      <br /><br />
+      <span tal:replace="structure rendered" />
+      <metal:block use-macro="here/generic_lib_portal_message/macros/portal_message" />
+      <span tal:condition="students">
+        <span tal:define="items students;
+        columns python:3;
+        items_per_page python:40;
+        max_items python:300;
+        zoom python:0;
+        batches_all python:here.getBatchList(items,columns, items_per_page,zoom,max_items=5000);
+        batches python:batches_all[0];
+        batch_info python:batches_all[1];
+        zoomed python:batches_all[2];
+        mq nocall:modules/ZTUtils/make_query;"
+        tal:omit-tag="">
+          <tal:block tal:condition="python: items and batch_info and batch_info['nb_pages'] > 1">
+            <div class="batchLayout" i18n:translate="">
+              Objects:<strong><tal:block replace="batch_info/start"
+                                         i18n:name="batch_start" /> - <tal:block replace="batch_info/limit"
+                                                                                 i18n:name="batch_limit" />
+              </strong> of <tal:block replace="batch_info/length" i18n:name="batch_length" />
+            </div>
+            <br />
+          </tal:block>
+          <table class="contentListing" width="100%">
+            <span tal:repeat="rows batches" tal:omit-tag="">
+              <span tal:repeat="student rows">
+                <tr tal:condition="student" 
+                    tal:attributes="class python:test(repeat['student'].even(), 'even ajaxtd', 'odd ajaxtd')">
+                  <td><a href="id" tal:attributes="href string:${context/portal_url}/campus/students/${student/id}"
+                         tal:content="student/id"></a></td>    
+                  <td>
+                    <span tal:replace="student/name" />
+                  </td>    
+                  <td><span tal:replace="student/matric_no" /></td>   
+                  <td><span tal:replace="student/jamb_reg_no" /></td>
+                  <td tal:condition="options/co_view|nothing">
+                    <a href="id" 
+                       tal:attributes="href string:${context/portal_url}/campus/students/${student/id}/clearance/external_clearance_edit_form"
+                       target="edit"
+                       onclick="javascript:window.open('','edit','width=600, height=700, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')"
+                       >[view and change state]</a></td>
+                  <td tal:condition="options/ca_view|nothing">
+                    <a href="id" 
+                       tal:attributes="href string:${context/portal_url}/campus/students/${student/id}/study_course/${student/level}/external_study_level_view"
+                       target="edit"
+                       onclick="javascript:window.open('','edit','width=600, height=700, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')"
+                       >[view and validate course list]</a></td>
+                </tr>
+              </span>
+            </span>
+          </table>
+          <tal:block condition="python:batch_info and batch_info['nb_pages'] > 1">
+            <div class="pageNavigationLayout">
+              <a tal:define="previous batch_info/previous"
+                 tal:condition="python:previous is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=0))"
+                 >
+              (&lt;&lt;)</a>
+              <a tal:define="previous batch_info/previous"
+                 tal:condition="python:previous is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=previous))"
+                 i18n:translate="batch_previous">Previous</a>
+              <tal:block repeat="page batch_info/pages">
+                <tal:block condition="python:page != batch_info['start'] - 1">
+                  <a tal:attributes="href python:'%s?%s'%(request['URL'],
+                  mq(request.form, b_start=page))"
+                  tal:content="repeat/page/number">1</a>&nbsp;
+                </tal:block>
+                <tal:block condition="python:page == batch_info['start'] - 1">
+                  <span tal:content="string:${repeat/page/number}" />&nbsp;
+                </tal:block>
+              </tal:block>
+              <a tal:define="next batch_info/next"
+                 tal:condition="python:next is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=next))"
+                 i18n:translate="batch_next">Next</a>
+              <a tal:define="next batch_info/next;
+              last_page python:batch_info['pages'][-1]"
+              tal:condition="python:next is not None"
+              tal:attributes="href python:'%s?%s'%(request['URL'],
+              mq(request.form, b_start=last_page))"
+              >
+              (&gt;&gt;)</a>
+            </div>
+          </tal:block>
+        </span>
+      </span>
+    </span>
+  </metal:main>
+</metal:body>
Index: WAeUP_SRP/trunk/skins/waeup_aaue/slip_template.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_aaue/slip_template.pt	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_aaue/slip_template.pt	(revision 3763)
@@ -0,0 +1,104 @@
+<metal:block define-macro="master"
+  tal:define="showthirdcol showthirdcol|python:1;
+  emptybody emptybody|request/emptybody|nothing;
+  mtool here/portal_membership;
+
+  utool nocall:here/portal_url;
+  atool here/portal_actions;
+  ttool here/portal_trees;
+  wtool here/portal_workflow;
+  ptool here/portal_cpsportlets;
+  context_url python:here.getContextUrl(utool=utool);
+  here_url here/absolute_url;
+  base_url here/getBaseUrl;  
+  static_dir here/portal_properties/static_dir;
+  static_base_url string:${base_url}${static_dir};  
+  member mtool/getAuthenticatedMember;
+  isAnon mtool/isAnonymousUser;
+  isHomeless python:isAnon or member.getProperty('homeless', 0);
+  isHomeless python:(isHomeless == '0' and [0] or [isHomeless])[0];
+  actions python:atool.listFilteredActionsFor(here);
+  wf_state python:wtool.getInfoFor(here,'review_state','');
+  uname python: isAnon and 'Guest' or member.getUserName();
+  checkPerm nocall: mtool/checkPermission;
+  cpsmcat nocall:here/translation_service;
+  locale here/translation_service/getSelectedLanguage;
+  in_ws here/isInWorkspace;
+  waeup_skin here/get_waeup_skin;
+  ">
+  <metal:block define-slot="doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+  </metal:block>
+  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
+        lang="en">
+    <head>
+      <metal:block use-macro="here/header_lib_header/macros/header|here/header_lib/macros/header">
+        <metal:block fill-slot="base">
+          <metal:block define-slot="base">
+            <base href=""
+                  tal:attributes="href string:${here_url}/" />
+          </metal:block>
+        </metal:block>
+        <metal:block fill-slot="head_slot">
+          <metal:block define-slot="head_slot" />
+        </metal:block>
+        <metal:block fill-slot="style_slot">
+          <link rel="stylesheet" type="text/css" media="all"
+                tal:attributes="href string:${static_base_url}common.css" />
+          <metal:block define-slot="style_slot" />
+        </metal:block>
+        <metal:block fill-slot="javascript_head_slot">
+          <metal:block define-slot="javascript_head_slot" />
+        </metal:block>
+      </metal:block>
+      <link rel="icon"
+            href="ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+      <link rel="shortcut icon"
+            href="icons/ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+    </head>
+    <body tal:condition="emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      <metal:block define-slot="body" />
+      <metal:block define-slot="main" />
+    </body>
+    <body tal:condition="not:emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+   
+    <table summary="Logo Block"
+           style="margin-left: auto; margin-right: auto; width: 100%;"
+           class="shapeNoBorder colorTransparent" cellpadding="0"
+           cellspacing="0">
+      <tbody>
+        <tr>
+          <td style="width: 20px;" valign="top"></td>
+          <td valign="top" style="padding: 0.5em; text-align: right;">
+            <img tal:attributes="src string:${static_base_url}logo.png"  alt="Logo"
+                     />
+          </td>
+        </tr>
+      </tbody>
+    </table>
+      
+    <table summary="Main Block" cellpadding="0" cellspacing="0" 
+           style="margin-left:auto;margin-right:auto;width:100%;">
+      <tr>
+        <td valign="top" style="width:700px">
+          <div style="padding:2em; text-align: left;" 
+               class="fontColordefaultfontcolors fontShapeTitleindex shapeAreaShape">
+                  <metal:block use-macro="here/generic_lib_portal_message/macros/portal_message" />
+                  <metal:block define-slot="header" />
+                  <metal:block define-slot="main" />
+                  <metal:block define-slot="sub" />
+          </div>
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
+</metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_design/WAeUP_Student/render.css.dtml_old
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_design/WAeUP_Student/render.css.dtml_old	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_design/WAeUP_Student/render.css.dtml_old	(revision 3763)
@@ -0,0 +1,4 @@
+.portalTabTabStyle ul.cpsskinsMenu li a{background:url(waeup_student_tab.png) left top no-repeat}
+.colorBarColor{border-color:#FFCE81;background-color:#FFCE81;color:#000000}
+.colorBarAreaColor{border-color:#FFCE81;background-color:#FFF;color:#000000}
+
Index: WAeUP_SRP/trunk/skins/waeup_futminna/mail2admin.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_futminna/mail2admin.py	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_futminna/mail2admin.py	(revision 3763)
@@ -0,0 +1,44 @@
+## Script (Python) "mail2admin"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=fullname=None,regno=None,email=None,probtype=None,descr=None,commt=None
+##title=
+##
+# $Id: mail2admin.py 2334 2007-10-09 15:01:36Z henrik $
+
+mhost = context.MailHost
+prop = context.portal_properties
+
+d = {}
+d['fullname'] = fullname
+d['email'] = email
+d['email_from'] = prop.email_from_address
+d['regno'] = regno
+d['probtype'] = probtype
+d['descr'] = descr
+
+message = """
+From: %(fullname)s <%(email)s>
+To: %(email_from)s
+Cc: %(email)s
+Bcc: waeup@saoas.org
+Reply-To: %(email)s
+Subject: Uniben Contact
+
+Fullname: %(fullname)s
+Member ID: %(regno)s
+Problem Type: %(probtype)s
+Description: %(descr)s
+"""
+
+mhost.send(message % d)
+
+REQUEST = context.REQUEST
+RESPONSE = REQUEST.RESPONSE
+
+redirect_url = REQUEST.HTTP_REFERER
+redirect_url = '%s/?%s' % (redirect_url,'portal_status_message=Your message has been sent!')
+RESPONSE.redirect(redirect_url)
Index: WAeUP_SRP/trunk/skins/waeup_futminna/mail2student.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_futminna/mail2student.py	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_futminna/mail2student.py	(revision 3763)
@@ -0,0 +1,45 @@
+## Script (Python) "mail2student"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=co_name=None,co_email=None,student_email=None,probtype=None,commt=None, action=None
+##title=
+##
+# $Id: mail2admin.py 869 2006-11-15 13:46:49Z henrik $
+
+from urllib import urlencode
+
+mhost = context.MailHost
+prop = context.portal_properties
+REQUEST = context.REQUEST
+
+d = {}
+#d['co_name'] = co_name
+#d['co_email'] = co_email
+d['co_name'] = 'CRPU Uniben'
+d['co_email'] = prop.email_from_address
+d['student_email'] = student_email
+d['probtype'] = probtype
+d['commt'] = commt
+
+message = """
+From: %(co_name)s <%(co_email)s>
+To: %(student_email)s
+Cc: %(co_email)s
+Reply-To: %(co_email)s
+Subject: %(probtype)s
+%(commt)s
+"""
+
+mhost.send(message % d)
+
+args = {}
+psm = "Your message has been sent!"
+args['portal_status_message'] = psm
+if action:
+    url = context.absolute_url() + '/' + action + '?' + urlencode(args)
+else:
+    url = context.absolute_url() +'?' + urlencode(args)
+return REQUEST.RESPONSE.redirect(url)
Index: WAeUP_SRP/trunk/skins/waeup_futminna/main_template.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_futminna/main_template.pt	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_futminna/main_template.pt	(revision 3763)
@@ -0,0 +1,217 @@
+<metal:block define-macro="master"
+  tal:define="showthirdcol showthirdcol|python:1;
+  emptybody emptybody|request/emptybody|nothing;
+  mtool here/portal_membership;
+  
+  utool nocall:here/portal_url;
+  atool here/portal_actions;
+  ttool here/portal_trees;
+  wtool here/portal_workflow;
+  ptool here/portal_cpsportlets;
+  context_url python:here.getContextUrl(utool=utool);
+  here_url here/absolute_url;
+  base_url here/getBaseUrl;
+  static_dir here/portal_properties/static_dir;
+  static_base_url string:${here/getBaseUrl}${static_dir};
+  member mtool/getAuthenticatedMember;
+  isAnon mtool/isAnonymousUser;
+  isHomeless python:isAnon or member.getProperty('homeless', 0);
+  isHomeless python:(isHomeless == '0' and [0] or [isHomeless])[0];
+  actions python:atool.listFilteredActionsFor(here);
+  wf_state python:wtool.getInfoFor(here,'review_state','');
+  uname python: isAnon and 'Guest' or member.getUserName();
+  checkPerm nocall: mtool/checkPermission;
+  cpsmcat nocall:here/translation_service;
+  locale here/translation_service/getSelectedLanguage;
+  in_ws here/isInWorkspace;
+  waeup_skin here/get_waeup_skin;
+  student_theme python:test(waeup_skin == 'WAeUP_Student',1,0);
+  navigation_slot python:test(student_theme,'student_navigation_slot','navigation_slot');
+  object_tabs python:test(student_theme,'student_object_slot','staff_object_slot');
+  
+  ">
+  <metal:block define-slot="doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+  </metal:block>
+  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
+        lang="en">
+    <head>
+      <metal:block use-macro="here/header_lib_header/macros/header|here/header_lib/macros/header">
+        <metal:block fill-slot="base">
+          <metal:block define-slot="base">
+            <base href=""
+                  tal:attributes="href string:${here_url}/" />
+          </metal:block>
+        </metal:block>
+        <metal:block fill-slot="head_slot">
+          <metal:block define-slot="head_slot" />
+        </metal:block>
+        <metal:block fill-slot="style_slot">
+          <link rel="stylesheet" type="text/css" media="all"
+                tal:attributes="href string:${static_base_url}common.css" />
+          <link rel="stylesheet" type="text/css" media="all"
+                tal:attributes="href string:${static_base_url}${waeup_skin}/render.css" />
+          <metal:block define-slot="style_slot" />
+        </metal:block>
+        <metal:block fill-slot="javascript_head_slot">
+          <metal:block define-slot="javascript_head_slot" />
+        </metal:block>
+      </metal:block>
+      <link rel="icon"
+            href="ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+      <link rel="shortcut icon"
+            href="icons/ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+    </head>
+    <body tal:condition="emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      <metal:block define-slot="body" />
+      <metal:block define-slot="main" />
+    </body>
+    
+    <body tal:condition="not:emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      
+     
+      <table summary="Logo Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="shapeNoBorder colorTransparent" cellpadding="0" 
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;"></td>
+            <td style="width: 170px; text-align: center; padding-top: 0.5em;">
+              <img tal:attributes="src string:${static_base_url}logo.png"  alt="Logo" />
+            </td>
+            <td padding=0.5em><h1>Federal University of Technology<br />Ekpoma, Nigeria</h1></td>
+            <td style="width: 20px;"></td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table summary="Navigation Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="shapeNoBorder colorTransparent" cellpadding="0"
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;" valign="top"></td>
+            <td style="" valign="top">
+              <div id="navigation_slot" 
+                       style="padding: 0em 0em 1px; text-align: right;"
+                       class="fontColornavigation fontShapenavigation portalTabTabStyle cpsskinsHBox body">
+                 <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot=navigation_slot)"
+                  tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet)" />
+              </div>
+            </td>
+            <td style="width: 20px;" valign="top"></td>
+          </tr>
+        </tbody>
+      </table>
+      
+      
+      <table summary="Main Table Block 1"
+           style="margin-left: auto; margin-right: auto; width: 100%;"
+           cellpadding="0" cellspacing="0">
+      <tbody>
+        <tr>
+          <td style="width: 20px;" valign="top"></td>
+          <td style="width: 170px;text-align: center;"
+              valign="top">
+            <div id="portal_session" style="padding: 0.4em 0.4em 0.4em 0.3em;"
+                 class="colorBarAreaColor fontColordefaultnovisitedlinks fontShapeaverage shapeAreaShape9">
+                    <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='portal_session')"
+                               tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+            </div>
+          </td>
+          <td style="text-align: left; padding: 0.2em 0.2em 0em;" class="colorBarColor" valign="top">
+            <metal:block define-slot="action_slot" />
+            <div id="object_tabs" class="fontColornavigation fontShapeaverage cpsskinsHBox body"
+                 tal:define="portlets python:ptool.getPortlets(context=context, slot=object_tabs)">
+                <tal:block repeat="portlet portlets"
+                           tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet)" />
+            </div>
+          </td>
+          <td tal:condition="not:student_theme"
+              class="colorBarColor" valign="top" style="text-align: right;padding: 0.2em 0.2em 0em; width: 280px;">
+            <div id="status_slot" class="fontColordefaultfontcolors fontShapeaverage cpsskinsHBox body"
+                 tal:define="portlets python:ptool.getPortlets(context=context, slot='status_slot')">
+                <tal:block repeat="portlet portlets"
+                           tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+            </div>
+          </td>
+          <td style="width: 20px;"
+              valign="top"></td>
+        </tr>
+      </tbody>
+    </table>
+  
+  
+  
+    <table summary="Main Table Block 2"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="" cellpadding="0" cellspacing="0">
+      <tbody>
+        <tr>
+          <td style="width: 20px;" valign="top"></td>
+          <td style="width: 170px;text-align: left;"
+              class="colorBarColor fontColornavigation fontShapeaverage boxShapenavbox cpsskinsBox" valign="top">
+            <div id="staff_actions_slot" class="body" style="padding: 1.5em 0.5em 1.5em 0.5em;">
+              <tal:block tal:condition="not:student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='staff_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              <tal:block tal:condition="not:student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='global_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              <tal:block tal:condition="student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='student_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+
+              <span tal:condition="student_theme">
+              <div style="padding: 0em;">
+                <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='student_workflow')"
+                             tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              </div>
+              </span>
+              
+              <div style="padding-top: 10px;">
+              <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='student_notice_slot')"
+                             tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              </div>  
+
+
+            </div>
+          </td>
+          <td style="" class="shapeAreaShape5 colorBarAreaColor" valign="top">
+            <div style="padding: 0.5em; text-align: left;" class="fontColordefaultfontcolors fontShapeaverage">
+              <metal:block use-macro="here/generic_lib_portal_message/macros/portal_message" />
+              <metal:block define-slot="header" />
+              <metal:block define-slot="main" />
+              <metal:block define-slot="sub" />
+            </div>
+          </td>
+          <td style="width: 20px;" valign="top"></td>
+        </tr>
+      </tbody>
+    </table>
+    
+    
+    <table summary="Copyright Info Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;" valign="top"></td>
+            <td style="padding: 0.2em; text-align: right;" valign="top">
+              <div class="fontColordefaultfontcolors fontShapeaverage">
+              Copyright WAeUP Group 2006-2008</div>
+            </td>
+            <td style="width: 20px;" valign="top"></td>
+          </tr>
+        </tbody>
+    </table>
+    </body>
+  </html>
+</metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_futminna/search_students_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_futminna/search_students_form.pt	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_futminna/search_students_form.pt	(revision 3763)
@@ -0,0 +1,132 @@
+<metal:body use-macro="here/main_template/macros/master">
+  <metal:main fill-slot="main"
+              tal:define="rendered options/rendered;
+              portal_status_message options/psm;
+              students options/students;
+              info options/info|nothing;
+              is_so context/isSectionOfficer;
+              allowed options/allowed|nothing;"
+              >
+    <span tal:condition="not: allowed">
+      <span tal:content="here/illegal_view" />
+    </span>
+    <span tal:condition="allowed" tal:omit-tag="">
+      <strong>
+        <nobr><a href="statistics_new_view">New Student Statistics</a>
+        &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+        <nobr><a href="statistics_ret_view">Returning Student Statistics</a>
+        &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+        <nobr><a href="statistics_simple_view">Basic Student Statistics</a>
+        &nbsp;&nbsp;&nbsp;&nbsp;</nobr>      
+        <span tal:condition="is_so">
+          <nobr><a href="apply_admission_manage">Application Process</a>
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>      
+          <nobr><a href="view_logs">View Log Files</a>
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+          <nobr><a href="add_student">Add Student Record</a>        
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+          <nobr><a href="deactivate_students">Deactivate Student Record(s)</a></nobr>
+        </span>
+      </strong>
+      <h3> Search Student Section</h3><br />
+      You are logged in as member <span tal:replace="info/member|nothing" /> 
+      <span tal:condition="info/faculties|nothing" tal:omit-tag="">
+        who is ClearanceOfficer for Faculty 
+        <span tal:repeat="faculty info/faculties" tal:content="faculty" />
+      </span>
+      <span tal:condition="info/departments|nothing" tal:omit-tag="">
+        and <span tal:repeat="department info/departments|nothing" tal:content="department"/></span>.
+      <br /><br />
+      <span tal:replace="structure rendered" />
+      <metal:block use-macro="here/generic_lib_portal_message/macros/portal_message" />
+      <span tal:condition="students">
+        <span tal:define="items students;
+        columns python:3;
+        items_per_page python:40;
+        max_items python:300;
+        zoom python:0;
+        batches_all python:here.getBatchList(items,columns, items_per_page,zoom,max_items=5000);
+        batches python:batches_all[0];
+        batch_info python:batches_all[1];
+        zoomed python:batches_all[2];
+        mq nocall:modules/ZTUtils/make_query;"
+        tal:omit-tag="">
+          <tal:block tal:condition="python: items and batch_info and batch_info['nb_pages'] > 1">
+            <div class="batchLayout" i18n:translate="">
+              Objects:<strong><tal:block replace="batch_info/start"
+                                         i18n:name="batch_start" /> - <tal:block replace="batch_info/limit"
+                                                                                 i18n:name="batch_limit" />
+              </strong> of <tal:block replace="batch_info/length" i18n:name="batch_length" />
+            </div>
+            <br />
+          </tal:block>
+          <table class="contentListing" width="100%">
+            <span tal:repeat="rows batches" tal:omit-tag="">
+              <span tal:repeat="student rows">
+                <tr tal:condition="student" 
+                    tal:attributes="class python:test(repeat['student'].even(), 'even ajaxtd', 'odd ajaxtd')">
+                  <td><a href="id" tal:attributes="href string:${context/portal_url}/campus/students/${student/id}"
+                         tal:content="student/id"></a></td>    
+                  <td>
+                    <span tal:replace="student/name" />
+                  </td>    
+                  <td><span tal:replace="student/matric_no" /></td>   
+                  <td><span tal:replace="student/jamb_reg_no" /></td>
+                  <td tal:condition="options/co_view|nothing">
+                    <a href="id" 
+                       tal:attributes="href string:${context/portal_url}/campus/students/${student/id}/clearance/external_clearance_edit_form"
+                       target="edit"
+                       onclick="javascript:window.open('','edit','width=600, height=700, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')"
+                       >[view and change state]</a></td>
+                  <td tal:condition="options/ca_view|nothing">
+                    <a href="id" 
+                       tal:attributes="href string:${context/portal_url}/campus/students/${student/id}/study_course/${student/level}/external_study_level_view"
+                       target="edit"
+                       onclick="javascript:window.open('','edit','width=600, height=700, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')"
+                       >[view and validate course list]</a></td>
+                </tr>
+              </span>
+            </span>
+          </table>
+          <tal:block condition="python:batch_info and batch_info['nb_pages'] > 1">
+            <div class="pageNavigationLayout">
+              <a tal:define="previous batch_info/previous"
+                 tal:condition="python:previous is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=0))"
+                 >
+              (&lt;&lt;)</a>
+              <a tal:define="previous batch_info/previous"
+                 tal:condition="python:previous is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=previous))"
+                 i18n:translate="batch_previous">Previous</a>
+              <tal:block repeat="page batch_info/pages">
+                <tal:block condition="python:page != batch_info['start'] - 1">
+                  <a tal:attributes="href python:'%s?%s'%(request['URL'],
+                  mq(request.form, b_start=page))"
+                  tal:content="repeat/page/number">1</a>&nbsp;
+                </tal:block>
+                <tal:block condition="python:page == batch_info['start'] - 1">
+                  <span tal:content="string:${repeat/page/number}" />&nbsp;
+                </tal:block>
+              </tal:block>
+              <a tal:define="next batch_info/next"
+                 tal:condition="python:next is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=next))"
+                 i18n:translate="batch_next">Next</a>
+              <a tal:define="next batch_info/next;
+              last_page python:batch_info['pages'][-1]"
+              tal:condition="python:next is not None"
+              tal:attributes="href python:'%s?%s'%(request['URL'],
+              mq(request.form, b_start=last_page))"
+              >
+              (&gt;&gt;)</a>
+            </div>
+          </tal:block>
+        </span>
+      </span>
+    </span>
+  </metal:main>
+</metal:body>
Index: WAeUP_SRP/trunk/skins/waeup_futminna/slip_template.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_futminna/slip_template.pt	(revision 3763)
+++ WAeUP_SRP/trunk/skins/waeup_futminna/slip_template.pt	(revision 3763)
@@ -0,0 +1,109 @@
+<metal:block define-macro="master"
+  tal:define="showthirdcol showthirdcol|python:1;
+  emptybody emptybody|request/emptybody|nothing;
+  mtool here/portal_membership;
+
+  utool nocall:here/portal_url;
+  atool here/portal_actions;
+  ttool here/portal_trees;
+  wtool here/portal_workflow;
+  ptool here/portal_cpsportlets;
+  context_url python:here.getContextUrl(utool=utool);
+  here_url here/absolute_url;
+  base_url here/getBaseUrl;
+  static_dir here/portal_properties/static_dir;
+  static_base_url string:${base_url}${static_dir};    
+  member mtool/getAuthenticatedMember;
+  isAnon mtool/isAnonymousUser;
+  isHomeless python:isAnon or member.getProperty('homeless', 0);
+  isHomeless python:(isHomeless == '0' and [0] or [isHomeless])[0];
+  actions python:atool.listFilteredActionsFor(here);
+  wf_state python:wtool.getInfoFor(here,'review_state','');
+  uname python: isAnon and 'Guest' or member.getUserName();
+  checkPerm nocall: mtool/checkPermission;
+  cpsmcat nocall:here/translation_service;
+  locale here/translation_service/getSelectedLanguage;
+  in_ws here/isInWorkspace;
+  waeup_skin here/get_waeup_skin;
+  ">
+  <metal:block define-slot="doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+  </metal:block>
+  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
+        lang="en">
+    <head>
+      <metal:block use-macro="here/header_lib_header/macros/header|here/header_lib/macros/header">
+        <metal:block fill-slot="base">
+          <metal:block define-slot="base">
+            <base href=""
+                  tal:attributes="href string:${here_url}/" />
+          </metal:block>
+        </metal:block>
+        <metal:block fill-slot="head_slot">
+          <metal:block define-slot="head_slot" />
+        </metal:block>
+        <metal:block fill-slot="style_slot">
+          <link rel="stylesheet" type="text/css" media="all"
+                tal:attributes="href string:${static_base_url}common.css" />
+          <metal:block define-slot="style_slot" />
+        </metal:block>
+        <metal:block fill-slot="javascript_head_slot">
+          <metal:block define-slot="javascript_head_slot" />
+        </metal:block>
+      </metal:block>
+      <link rel="icon"
+            href="ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+      <link rel="shortcut icon"
+            href="icons/ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+    </head>
+    <body tal:condition="emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      <metal:block define-slot="body" />
+      <metal:block define-slot="main" />
+    </body>
+    <body tal:condition="not:emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+   
+    <table summary="Logo Block"
+           style="margin-left: auto; margin-right: auto; width: 100%;"
+           class="shapeNoBorder colorTransparent" cellpadding="0"
+           cellspacing="0">
+      <tbody>
+        <tr>
+          <td style="width: 20px;" valign="top"></td>
+          <td valign="top" style="width: 80px; padding: 0.5em; text-align: right;">
+            <img tal:attributes="src string:${static_base_url}logo.png"  alt="Logo"
+                     height="84"  />
+          </td>
+          <td style="padding: 1em 0em 0em 0em; text-align: left;" valign="top">
+             <h2>Federal University of Technology<br />Ekpoma, Nigeria</h2>
+          
+          </td>
+          <td style="width: 20px;" valign="top"></td>
+        </tr>
+      </tbody>
+    </table>
+      
+    <table summary="Main Block" cellpadding="0" cellspacing="0" 
+           style="margin-left:auto;margin-right:auto;width:100%;">
+      <tr>
+        <td valign="top" style="width:700px">
+          <div style="padding:2em; text-align: left;" 
+               class="fontColordefaultfontcolors fontShapeTitleindex shapeAreaShape">
+                  <metal:block use-macro="here/generic_lib_portal_message/macros/portal_message" />
+                  <metal:block define-slot="header" />
+                  <metal:block define-slot="main" />
+                  <metal:block define-slot="sub" />
+          </div>
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
+</metal:block>
