Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 7133)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 7134)
@@ -385,4 +385,5 @@
     def update(self):
         datepicker.need() # Enable jQuery datepicker in date fields.
+        tabs.need()
         super(StudentBaseManageFormPage, self).update()
         self.wf_info = IWorkflowInfo(self.context)
@@ -472,16 +473,17 @@
     grok.name('edit_clearance')
     grok.require('waeup.manageStudents')
+    grok.template('clearanceeditpage')
     form_fields = grok.AutoFields(IStudentClearance)
     label = 'Manage clearance data'
     title = 'Clearance Data'
     pnav = 4
-
     form_fields['date_of_birth'].custom_widget = FriendlyDateWidget('le-year')
 
     def update(self):
         datepicker.need() # Enable jQuery datepicker in date fields.
+        tabs.need()
         return super(StudentClearanceManageFormPage, self).update()
 
-    @grok.action('Save (no upload)')
+    @grok.action('Save')
     def save(self, **data):
         msave(self, **data)
@@ -1693,5 +1695,4 @@
     label = 'Edit clearance data'
     title = 'Clearance Data'
-    pnav = 4
     form_fields['date_of_birth'].custom_widget = FriendlyDateWidget('le-year')
 
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/basemanagepage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/basemanagepage.pt	(revision 7133)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/basemanagepage.pt	(revision 7134)
@@ -15,58 +15,76 @@
   </div>
 
-  <table class="form-fields zebra">
-    <tbody>
-      <tal:block repeat="widget view/widgets">
-        <tr>
-          <td class="label">
-            <label tal:attributes="for widget/name">
-              <span class="required" tal:condition="widget/required">*</span>
-              <span i18n:translate="" tal:content="widget/label">label</span>:
-            </label>
-          </td>
-          <td class="field">
-            <span class="widget" tal:content="structure widget">
-              <input type="text" />
-            </span>
-            <tal:error tal:condition="widget/error">
-              <span tal:replace="structure widget/error">error</span>
-            </tal:error>
-            <tal:hint tal:condition="widget/hint">
-              <span class="hint" tal:content="structure widget/hint">hint</span>
-            </tal:hint>
-          </td>
-        </tr>
-      </tal:block>
-      <tr>
-        <td class="label"><label>Password:</label></td>
-        <td>
-          <input name="password" type="password"  />
-        </td>
-      </tr>
-      <tr>
-        <td class="label"><label>Retype password:</label></td>
-        <td>
-          <input name="control_password" type="password" />
-        </td>
-      </tr>
-      <tr>
-        <td class="label"><label>Registration Transition:</label></td>
-        <td>
-          <select id="transition" name="transition">
-            <option tal:repeat="transition view/getTransitions"
-                    tal:attributes="value transition/name">
-              <span tal:replace="transition/title">TRANSITIONTITLE</span>
-            </option>
-          </select>
-        </td>
-      </tr>
-      <tal:files content="structure provider:files" />
-    </tbody>
-  </table>
+  <div id="tabs">
+    <ul>
+      <li><a href="#tab-1"><span>Base Data</span></a></li>
+      <li><a href="#tab-2"><span>Passport Picture</span></a></li>
+    </ul>
 
-  <div class="actionButtons" tal:condition="view/availableActions">
-    <input tal:repeat="action view/actions"
-           tal:replace="structure action/render"
-           />
+    <div id="tab-1">
+      <table class="form-fields zebra">
+        <tbody>
+          <tal:block repeat="widget view/widgets">
+            <tr>
+              <td class="label">
+                <label tal:attributes="for widget/name">
+                  <span class="required" tal:condition="widget/required">*</span>
+                  <span i18n:translate="" tal:content="widget/label">label</span>:
+                </label>
+              </td>
+              <td class="field">
+                <span class="widget" tal:content="structure widget">
+                  <input type="text" />
+                </span>
+                <tal:error tal:condition="widget/error">
+                  <span tal:replace="structure widget/error">error</span>
+                </tal:error>
+                <tal:hint tal:condition="widget/hint">
+                  <span class="hint" tal:content="structure widget/hint">hint</span>
+                </tal:hint>
+              </td>
+            </tr>
+          </tal:block>
+          <tr>
+            <td class="label"><label>Password:</label></td>
+            <td>
+              <input name="password" type="password"  />
+            </td>
+          </tr>
+          <tr>
+            <td class="label"><label>Retype password:</label></td>
+            <td>
+              <input name="control_password" type="password" />
+            </td>
+          </tr>
+          <tr>
+            <td class="label"><label>Registration Transition:</label></td>
+            <td>
+              <select id="transition" name="transition">
+                <option tal:repeat="transition view/getTransitions"
+                        tal:attributes="value transition/name">
+                  <span tal:replace="transition/title">TRANSITIONTITLE</span>
+                </option>
+              </select>
+            </td>
+          </tr>
+
+        </tbody>
+      </table>
+
+      <div class="actionButtons" tal:condition="view/availableActions">
+        <input tal:repeat="action view/actions"
+               tal:replace="structure action/render"
+               />
+      </div>
+    </div>
+
+    <div id="tab-2">
+      <h2>Upload passport picture</h2>
+      <table class="form-fields zebra">
+        <tbody>
+          <tal:files content="structure provider:files" />
+        </tbody>
+      </table>
+    </div>
   </div>
 </form>
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/clearanceeditpage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/clearanceeditpage.pt	(revision 7134)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/clearanceeditpage.pt	(revision 7134)
@@ -0,0 +1,66 @@
+<h2 i18n:translate=""
+    tal:condition="view/label"
+    tal:content="view/label">Label</h2>
+
+<form action="." tal:attributes="action request/URL" method="post"
+      class="edit-form" enctype="multipart/form-data">
+
+  <div class="form-status"
+    tal:define="status view/status"
+    tal:condition="status">
+    Form Status:
+    <span i18n:translate="" tal:content="view/status">
+      Form status summary
+    </span>
+  </div>
+
+  <div id="tabs">
+    <ul>
+      <li><a href="#tab-1"><span>Clearance Data</span></a></li>
+      <li><a href="#tab-2"><span>Scans</span></a></li>
+    </ul>
+
+    <div id="tab-1">
+      <table class="form-fields zebra">
+        <tbody>
+          <tal:block repeat="widget view/widgets">
+            <tr>
+              <td class="label">
+                <label tal:attributes="for widget/name">
+                  <span class="required" tal:condition="widget/required">*</span>
+                  <span i18n:translate="" tal:content="widget/label">label</span>:
+                </label>
+              </td>
+              <td class="field">
+                <span class="widget" tal:content="structure widget">
+                  <input type="text" />
+                </span>
+                <tal:error tal:condition="widget/error">
+                  <span tal:replace="structure widget/error">error</span>
+                </tal:error>
+                <tal:hint tal:condition="widget/hint">
+                  <span class="hint" tal:content="structure widget/hint">hint</span>
+                </tal:hint>
+              </td>
+            </tr>
+          </tal:block>
+        </tbody>
+      </table>
+
+      <div class="actionButtons" tal:condition="view/availableActions">
+        <input tal:repeat="action view/actions"
+               tal:replace="structure action/render"
+               />
+      </div>
+    </div>
+
+    <div id="tab-2">
+      <h2>Upload scans</h2>
+      <table class="form-fields zebra">
+        <tbody>
+          <tal:files content="structure provider:files" />
+        </tbody>
+      </table>
+    </div>
+  </div>
+</form>
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py	(revision 7133)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py	(revision 7134)
@@ -378,5 +378,5 @@
         file_ctrl.add_file(pseudo_image, filename='my_birth_certificate.jpg')
         # The Save action does not upload files
-        self.browser.getControl("Save (no upload)").click() # submit form
+        self.browser.getControl("Save").click() # submit form
         self.assertFalse(
             '<a target="image" href="birth_certificate">'
@@ -789,4 +789,5 @@
         self.browser.getLink("Edit").click()
         self.browser.getControl("Save and request clearance").click()
+        
         self.browser.getControl(name="ac_series").value = self.existing_clrseries
         self.browser.getControl(name="ac_number").value = self.existing_clrnumber
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py	(revision 7133)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py	(revision 7134)
@@ -286,4 +286,5 @@
     grok.template('fileupload')
     grok.require('waeup.uploadStudentFile')
+    tab_redirect = ''
     mus = 1024 * 150
 
@@ -303,5 +304,6 @@
                 download_name=self.download_name)
             self.view.redirect(
-                self.view.url(self.context, self.view.__name__))
+                self.view.url(
+                    self.context, self.view.__name__) + self.tab_redirect)
             return
         if upload_button:
@@ -312,9 +314,11 @@
                     self.context, self.view, self.mus, self.download_name)
                 self.view.redirect(
-                    self.view.url(self.context, self.view.__name__))
+                    self.view.url(
+                        self.context, self.view.__name__) + self.tab_redirect)
             else:
                 self.view.flash('No local file selected.')
                 self.view.redirect(
-                    self.view.url(self.context, self.view.__name__))
+                    self.view.url(
+                        self.context, self.view.__name__) + self.tab_redirect)
         return
 
@@ -341,4 +345,5 @@
     mus = 1024 * 50
     download_name = u'passport.jpg'
+    tab_redirect = '#tab-2'
 
 class PassportUploadEdit(PassportUploadManage):
@@ -364,4 +369,5 @@
     mus = 1024 * 150
     download_name = u'birth_certificate'
+    tab_redirect = '#tab-2'
 
 class AcceptanceLetterDisplay(FileDisplay):
@@ -381,4 +387,5 @@
     mus = 1024 * 150
     download_name = u'acceptance_letter'
+    tab_redirect = '#tab-2'
 
 class Image(grok.View):
