Index: /WAeUP_SRP/trunk/profiles/default/layouts/student_change_password.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/layouts/student_change_password.xml	(revision 1461)
+++ /WAeUP_SRP/trunk/profiles/default/layouts/student_change_password.xml	(revision 1461)
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="layout.xsl"?>
+<object name="student_password_change" meta_type="CPS Layout">
+  <property name="layout_create_method"></property>
+  <property name="layout_edit_method"></property>
+  <property name="layout_view_method"></property>
+  <property name="style_prefix">layout_waeup_</property>
+  <property name="flexible_widgets"/>
+  <property name="validate_values_expr"></property>
+  <widget name="old_password" meta_type="Password Widget">
+    <property name="title">Old Password</property>
+    <property name="fields">
+      <element value="old_password"/>
+    </property>
+    <property name="label">Old Password</property>
+    <property name="label_edit">Old Password</property>
+    <property name="readonly_layout_modes"/>
+    <property name="hidden_layout_modes"/>
+    <property name="hidden_readonly_layout_modes"/>
+    <property name="password_widget">password</property>
+    <property name="check_digit">True</property>
+    <property name="size_min">6</property>
+  </widget>
+  <widget name="password" meta_type="Password Widget">
+    <property name="title">New Password</property>
+    <property name="fields">
+      <element value="password"/>
+    </property>
+    <property name="label">New Password</property>
+    <property name="label_edit">New Password</property>
+    <property name="readonly_layout_modes"/>
+    <property name="hidden_layout_modes"/>
+    <property name="hidden_readonly_layout_modes"/>
+    <property name="password_widget"></property>
+    <property name="check_digit">False</property>
+    <property name="size_min">6</property>
+  </widget>
+  <widget name="repeat_password" meta_type="Password Widget">
+    <property name="title">Repeat Password</property>
+    <property name="fields">
+      <element value="repeat_password"/>
+    </property>
+    <property name="label">Repeat Password</property>
+    <property name="label_edit">Repeat Password</property>
+    <property name="readonly_layout_modes"/>
+    <property name="hidden_layout_modes"/>
+    <property name="hidden_readonly_layout_modes"/>
+    <property name="password_widget">password</property>
+    <property name="check_digit">True</property>
+    <property name="size_min">6</property>
+  </widget>
+  <table>
+    <row>
+      <cell name="old_password"/>
+    </row>
+    <row>
+      <cell name="password"/>
+    </row>
+    <row>
+      <cell name="repeat_password"/>
+    </row>
+  </table>
+</object>
Index: /WAeUP_SRP/trunk/profiles/default/schemas/student_change_password.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/schemas/student_change_password.xml	(revision 1461)
+++ /WAeUP_SRP/trunk/profiles/default/schemas/student_change_password.xml	(revision 1461)
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="schema.xsl"?>
+<object name="student_password_change" meta_type="CPS Schema">
+ <field name="old_password" meta_type="CPS String Field"/>
+ <field name="password" meta_type="CPS String Field"/>
+ <field name="repeat_password" meta_type="CPS String Field"/>
+</object>
Index: /WAeUP_SRP/trunk/skins/waeup_student/change_password.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/change_password.py	(revision 1461)
+++ /WAeUP_SRP/trunk/skins/waeup_student/change_password.py	(revision 1461)
@@ -0,0 +1,55 @@
+##parameters=
+# $Id$
+"""
+process the Application Form
+return html renderer + psm
+"""
+request = context.REQUEST
+import DateTime,logging
+
+current = DateTime.DateTime()
+#pr = context.portal_registration
+logger = logging.getLogger('Student.change_password')
+validate = request.has_key("change_password")
+students_dir = context.portal_directories.students
+lt = context.portal_layouts
+res,psm,ds = lt.renderLayout(layout_id= 'student_change_password',
+                      schema_id= 'student_change_password',
+                      context=context,
+                      mapping=validate and request,
+                      ob = {},
+                      layout_mode='edit',
+                      button = "Change Password",
+                      commit = False,
+                      )
+if psm == '':
+    return context.change_password_form(rendered = res,
+                                 psm = None,
+                                 ds = ds,
+                                 mode = "edit",
+                                 formaction = "change_password",
+                                 button = "Change Password",
+                                 )
+elif psm == 'invalid':
+    psm = "Please correct your input!"
+    return context.change_password_form(rendered = res,
+                                 psm = None,
+                                 ds = ds,
+                                 mode = "edit",
+                                 formaction = "change_password",
+                                 button = "Change Password",
+                                 )
+else:
+    student_id = context.getStudentId()
+    old_password = request.get('widget__old_password')
+    password = request.get('widget__password')
+    entry = students_dir.getEntry
+    context.portal_membership.setPassword(password)
+    psm = "Your Password has been changed"
+    return context.change_password_form(rendered = res,
+                                 psm = None,
+                                 ds = ds,
+                                 mode = "edit",
+                                 formaction = "change_password",
+                                 button = "Change Password",
+                                 )
Index: /WAeUP_SRP/trunk/skins/waeup_student/change_password_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/change_password_form.pt	(revision 1461)
+++ /WAeUP_SRP/trunk/skins/waeup_student/change_password_form.pt	(revision 1461)
@@ -0,0 +1,31 @@
+<tal:block define="rendered_main options/rendered;
+           portal_status_message options/psm;
+           data_storage options/ds;
+           mode options/mode;
+           formaction options/formaction;
+           matric_no options/matric_no|nothing;
+           name options/name|nothing;
+           creation creation|nothing;"
+           >
+  <metal:block define-macro="edit_form">
+    <metal:block use-macro="here/content_lib_master/macros/master">
+      <metal:block fill-slot="header">
+      </metal:block>
+      <metal:block fill-slot="main">
+        <form action="" id="editForm" method="post" 
+              enctype="multipart/form-data" class="workflow"
+              tal:attributes="action options/formaction"
+              >
+          <div tal:replace="structure rendered_main" />
+          <br />
+          <input type="submit" class="standalone" 
+                 name="change_password"
+                 tal:attributes="value options/button"
+                 tal:condition="not:creation" />
+        </form>
+      </metal:block>
+      <metal:block fill-slot="sub">
+      </metal:block>
+    </metal:block>
+  </metal:block>
+</tal:block>
